This commit was manufactured by cvs2svn to create tag 'v20071023'.
diff --git a/features/org.eclipse.jst.server_adapters.feature/.cvsignore b/features/org.eclipse.jst.server_adapters.feature/.cvsignore
deleted file mode 100644
index 4581d2f..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.jst.server_adapters.feature_1.0.0.bin.dist.zip
-build.xml
diff --git a/features/org.eclipse.jst.server_adapters.feature/.project b/features/org.eclipse.jst.server_adapters.feature/.project
deleted file mode 100644
index 89aafd4..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server_adapters.feature</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.jst.server_adapters.feature/build.properties b/features/org.eclipse.jst.server_adapters.feature/build.properties
deleted file mode 100644
index 1cd216f..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/build.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.jst.server_adapters.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_adapters.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_adapters.feature/epl-v10.html b/features/org.eclipse.jst.server_adapters.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.server_adapters.feature/feature.properties b/features/org.eclipse.jst.server_adapters.feature/feature.properties
deleted file mode 100644
index 8dffb5f..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server Adapters
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Server adapters for use with the JST server tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006, 2007 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_adapters.feature/feature.xml b/features/org.eclipse.jst.server_adapters.feature/feature.xml
deleted file mode 100644
index 53e21d3..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/feature.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_adapters.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.commands" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.debug.core" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.core" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.launching" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.core" version="1.0.204" match="equivalent"/>
-      <import plugin="org.eclipse.jst.common.project.facet.core" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.wst.common.modulecore" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.emf.common" version="2.2.0"/>
-      <import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.forms" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.debug.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.debug.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.ui" version="1.0.204" match="equivalent"/>
-      <import plugin="org.eclipse.jst.server.tomcat.core" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.wst.common.project.facet.ui" version="1.1.0"/>
-      <import plugin="org.eclipse.jst.j2ee" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.jst.j2ee.core" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.jst.j2ee.web" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.emf.ecore.xmi" version="2.2.0"/>
-      <import plugin="org.eclipse.wst.common.core" version="1.0.0" match="compatible"/>
-      <import plugin="org.eclipse.jst.server.core" version="1.0.102" match="equivalent"/>
-      <import plugin="org.eclipse.jst.server.generic.core" version="1.0.100" match="equivalent"/>
-      <import plugin="org.eclipse.jst.server.generic.ui" version="1.0.100" match="equivalent"/>
-      <import plugin="org.eclipse.jst.server.ui" version="1.0.102" match="equivalent"/>
-      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.1.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jst.server.preview.adapter"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.server.tomcat.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.server.tomcat.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.server.websphere.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.generic.jboss"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.generic.jonas"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.generic.oc4j"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.installable"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_adapters.feature/license.html b/features/org.eclipse.jst.server_adapters.feature/license.html
deleted file mode 100644
index fc77372..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-  
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 215e720..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
-
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 0aa4238..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# 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=JST Server Adapters Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for JST Server Adapters.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 83088fc..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_adapters.feature.source"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jst.server_adapters.feature"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server_adapters.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/license.html b/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</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.org CVS repository (&quot;Repository&quot;) in CVS
-   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 Eclipse Update Manager, 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>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings

-# contains fill-ins for about.properties

-# java.io.Properties file (ISO 8859-1 with "\" escapes)

-# This file does not need to be translated.

-

-0=@build@

diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 55f9db3..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=J2EE Standard Tools - Server Adapters\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 5895597..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 5f034d9..0000000
--- a/features/org.eclipse.jst.server_adapters.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=J2EE Standard Tools - Server Adapters Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/.cvsignore b/features/org.eclipse.jst.server_adapters.sdk.feature/.cvsignore
deleted file mode 100644
index 6eb0971..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-features
-plugins
-build.xml
-org.eclipse.jst.server_sdk.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/.project b/features/org.eclipse.jst.server_adapters.sdk.feature/.project
deleted file mode 100644
index 51e683a..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server_adapters.sdk.feature</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.jst.server_adapters.sdk.feature/build.properties b/features/org.eclipse.jst.server_adapters.sdk.feature/build.properties
deleted file mode 100644
index 63a2414..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-
-generate.feature@org.eclipse.jst.server_adapters.feature.source=org.eclipse.jst.server_adapters.feature
-
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_adapters.sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/epl-v10.html b/features/org.eclipse.jst.server_adapters.sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/feature.properties b/features/org.eclipse.jst.server_adapters.sdk.feature/feature.properties
deleted file mode 100644
index d8d0e53..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server Adapter Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for JST server tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/feature.xml b/features/org.eclipse.jst.server_adapters.sdk.feature/feature.xml
deleted file mode 100644
index 11f499d..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_adapters.sdk.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jst.server_adapters.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jst.server_adapters.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_adapters.sdk.feature/license.html b/features/org.eclipse.jst.server_adapters.sdk.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.jst.server_adapters.sdk.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.jst.server_core.feature/.cvsignore b/features/org.eclipse.jst.server_core.feature/.cvsignore
deleted file mode 100644
index 3483bcf..0000000
--- a/features/org.eclipse.jst.server_core.feature/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-build.xml
-org.eclipse.jst.server_core.feature_1.0.0.*.zip
-org.eclipse.jst.server_core.feature_1.5.0.*.zip
diff --git a/features/org.eclipse.jst.server_core.feature/.project b/features/org.eclipse.jst.server_core.feature/.project
deleted file mode 100644
index e8e35bb..0000000
--- a/features/org.eclipse.jst.server_core.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server_core.feature</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.jst.server_core.feature/build.properties b/features/org.eclipse.jst.server_core.feature/build.properties
deleted file mode 100644
index 1cd216f..0000000
--- a/features/org.eclipse.jst.server_core.feature/build.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.jst.server_core.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_core.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_core.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_core.feature/epl-v10.html b/features/org.eclipse.jst.server_core.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.server_core.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.server_core.feature/feature.properties b/features/org.eclipse.jst.server_core.feature/feature.properties
deleted file mode 100644
index d8a1960..0000000
--- a/features/org.eclipse.jst.server_core.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server Core
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=JST server core functionality
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_core.feature/feature.xml b/features/org.eclipse.jst.server_core.feature/feature.xml
deleted file mode 100644
index e31755d..0000000
--- a/features/org.eclipse.jst.server_core.feature/feature.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_core.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jst.common_core.feature"
-         version="0.0.0"/>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.debug.core" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.core" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.launching" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.core" version="1.0.103" match="equivalent"/>
-      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.1.0" match="compatible"/>
-      <import plugin="org.eclipse.jst.server.core" version="1.0.102" match="equivalent"/>
-      <import plugin="org.eclipse.emf.common" version="2.2.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.2.0"/>
-      <import plugin="org.eclipse.emf.ecore.xmi" version="2.2.0"/>
-      <import plugin="org.apache.ant" version="1.6.5" match="compatible"/>
-      <import plugin="org.eclipse.core.variables" version="3.1.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jst.server.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.server.generic.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.cactus"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_core.feature/license.html b/features/org.eclipse.jst.server_core.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.jst.server_core.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index f249e9f..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 8ed7ff6..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server Core Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for JST Server Core.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 2114e23..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_core.feature.source"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.jst.server_core.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/license.html b/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</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.org CVS repository (&quot;Repository&quot;) in CVS
-   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 Eclipse Update Manager, 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>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings

-# contains fill-ins for about.properties

-# java.io.Properties file (ISO 8859-1 with "\" escapes)

-# This file does not need to be translated.

-

-0=@build@

diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 34dcd7b..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=J2EE Standard Tools - Server Core\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index f95b457..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index d35aeba..0000000
--- a/features/org.eclipse.jst.server_core.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=J2EE Standard Tools - Server Core Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.jst.server_sdk.feature/.cvsignore b/features/org.eclipse.jst.server_sdk.feature/.cvsignore
deleted file mode 100644
index 6eb0971..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-features
-plugins
-build.xml
-org.eclipse.jst.server_sdk.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.jst.server_sdk.feature/.project b/features/org.eclipse.jst.server_sdk.feature/.project
deleted file mode 100644
index b1b1f16..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server_sdk.feature</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.jst.server_sdk.feature/build.properties b/features/org.eclipse.jst.server_sdk.feature/build.properties
deleted file mode 100644
index f450ddf..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/build.properties
+++ /dev/null
@@ -1,18 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-
-generate.feature@org.eclipse.jst.server_ui.feature.source=org.eclipse.jst.server_ui.feature
-
diff --git a/features/org.eclipse.jst.server_sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_sdk.feature/epl-v10.html b/features/org.eclipse.jst.server_sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.server_sdk.feature/feature.properties b/features/org.eclipse.jst.server_sdk.feature/feature.properties
deleted file mode 100644
index 2ac24e3..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for JST server tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_sdk.feature/feature.xml b/features/org.eclipse.jst.server_sdk.feature/feature.xml
deleted file mode 100644
index cd0b62d..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_sdk.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jst.server_ui.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jst.server_ui.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_sdk.feature/license.html b/features/org.eclipse.jst.server_sdk.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.jst.server_tests.feature/.cvsignore b/features/org.eclipse.jst.server_tests.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.jst.server_tests.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.jst.server_tests.feature/.project b/features/org.eclipse.jst.server_tests.feature/.project
deleted file mode 100644
index 84d36f1..0000000
--- a/features/org.eclipse.jst.server_tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server_tests.feature</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.jst.server_tests.feature/build.properties b/features/org.eclipse.jst.server_tests.feature/build.properties
deleted file mode 100644
index 1cd216f..0000000
--- a/features/org.eclipse.jst.server_tests.feature/build.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.jst.server_tests.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_tests.feature/epl-v10.html b/features/org.eclipse.jst.server_tests.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.server_tests.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.server_tests.feature/feature.properties b/features/org.eclipse.jst.server_tests.feature/feature.properties
deleted file mode 100644
index 89844cb..0000000
--- a/features/org.eclipse.jst.server_tests.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=JST server tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_tests.feature/feature.xml b/features/org.eclipse.jst.server_tests.feature/feature.xml
deleted file mode 100644
index f1aa266..0000000
--- a/features/org.eclipse.jst.server_tests.feature/feature.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_tests.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.jst.server.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.generic.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.tomcat.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.tomcat.tests.performance"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.tomcat.ui.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server.ui.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_tests.feature/license.html b/features/org.eclipse.jst.server_tests.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.jst.server_tests.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.jst.server_ui.feature/.cvsignore b/features/org.eclipse.jst.server_ui.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.jst.server_ui.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.jst.server_ui.feature/.project b/features/org.eclipse.jst.server_ui.feature/.project
deleted file mode 100644
index 914d348..0000000
--- a/features/org.eclipse.jst.server_ui.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server_ui.feature</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.jst.server_ui.feature/build.properties b/features/org.eclipse.jst.server_ui.feature/build.properties
deleted file mode 100644
index 1cd216f..0000000
--- a/features/org.eclipse.jst.server_ui.feature/build.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.jst.server_ui.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_ui.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_ui.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_ui.feature/epl-v10.html b/features/org.eclipse.jst.server_ui.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.server_ui.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.server_ui.feature/feature.properties b/features/org.eclipse.jst.server_ui.feature/feature.properties
deleted file mode 100644
index 4312f74..0000000
--- a/features/org.eclipse.jst.server_ui.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server UI
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=JST server UI functionality
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_ui.feature/feature.xml b/features/org.eclipse.jst.server_ui.feature/feature.xml
deleted file mode 100644
index 338e770..0000000
--- a/features/org.eclipse.jst.server_ui.feature/feature.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_ui.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jst.server_userdoc.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.jst.server_core.feature"
-         version="0.0.0"/>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.debug.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.core" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.launching" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.junit" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.core" version="1.0.103" match="equivalent"/>
-      <import plugin="org.eclipse.wst.server.ui" version="1.0.103" match="equivalent"/>
-      <import plugin="org.eclipse.jst.server.core" version="1.0.103" match="equivalent"/>
-      <import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.1.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.project.facet.ui" version="1.1.0"/>
-      <import plugin="org.eclipse.wst.common.modulecore" version="1.1.0" match="equivalent"/>
-      <import plugin="org.eclipse.jface.text" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.jdt.debug.ui" version="3.2.100" match="compatible"/>
-      <import plugin="org.eclipse.jst.server.generic.core" version="1.0.1"/>
-      <import plugin="org.eclipse.ui.forms" version="3.2.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jst.server.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.server.generic.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.server.ui.infopop"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_ui.feature/license.html b/features/org.eclipse.jst.server_ui.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.jst.server_ui.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 88b89c3..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
-
-generate.feature@org.eclipse.jst.server_core.feature.source = org.eclipse.jst.server_core.feature
-
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index a31c831..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# 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=JST Server UI Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for JST server UI.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index abf9c41..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_ui.feature.source"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jst.server_core.feature.source"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.server_ui.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/license.html b/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</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.org CVS repository (&quot;Repository&quot;) in CVS
-   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 Eclipse Update Manager, 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>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings

-# contains fill-ins for about.properties

-# java.io.Properties file (ISO 8859-1 with "\" escapes)

-# This file does not need to be translated.

-

-0=@build@

diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index b5393d8..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=J2EE Standard Tools - Server UI\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 5895597..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index c5f6e6d..0000000
--- a/features/org.eclipse.jst.server_ui.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=J2EE Standard Tools - Server UI Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.jst.server_userdoc.feature/.cvsignore b/features/org.eclipse.jst.server_userdoc.feature/.cvsignore
deleted file mode 100644
index 3d2d477..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.jst.server_userdoc.feature_1.0.0.jar
diff --git a/features/org.eclipse.jst.server_userdoc.feature/.project b/features/org.eclipse.jst.server_userdoc.feature/.project
deleted file mode 100644
index e771963..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server_userdoc.feature</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.jst.server_userdoc.feature/build.properties b/features/org.eclipse.jst.server_userdoc.feature/build.properties
deleted file mode 100644
index 7f47694..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.jst.server_userdoc.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.server_userdoc.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.server_userdoc.feature/epl-v10.html b/features/org.eclipse.jst.server_userdoc.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.server_userdoc.feature/feature.properties b/features/org.eclipse.jst.server_userdoc.feature/feature.properties
deleted file mode 100644
index 4a364af..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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=JST Server User Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=JST server user documentation
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.server_userdoc.feature/feature.xml b/features/org.eclipse.jst.server_userdoc.feature/feature.xml
deleted file mode 100644
index bda88da..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/feature.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_userdoc.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.jst.server.ui.doc.user"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.server_userdoc.feature/license.html b/features/org.eclipse.jst.server_userdoc.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.wst.server_adapters.feature/.project b/features/org.eclipse.wst.server_adapters.feature/.project
deleted file mode 100644
index 252f09a..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_adapters.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.server_adapters.feature/build.properties b/features/org.eclipse.wst.server_adapters.feature/build.properties
deleted file mode 100644
index 7f47694..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.wst.server_adapters.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_adapters.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_adapters.feature/epl-v10.html b/features/org.eclipse.wst.server_adapters.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_adapters.feature/feature.properties b/features/org.eclipse.wst.server_adapters.feature/feature.properties
deleted file mode 100644
index 1afdb7b..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 Adapters
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Server adapters for use with the WST server tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2007 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_adapters.feature/feature.xml b/features/org.eclipse.wst.server_adapters.feature/feature.xml
deleted file mode 100644
index 78a1742..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/feature.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_adapters.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.apache.commons.logging" version="1.0.4" match="compatible"/>
-      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.commands" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.core" version="1.0.204" match="compatible"/>
-      <import plugin="org.eclipse.ui.forms" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.ui" version="1.0.103" match="equivalent"/>
-      <import plugin="org.eclipse.wst.server.http.core" version="1.0.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.project.facet.ui" version="1.2.0" match="compatible"/>
-      <import plugin="org.mortbay.jetty" version="5.1.11" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.server.preview.adapter"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.server.preview"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.server.http.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.server.http.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_adapters.feature/license.html b/features/org.eclipse.wst.server_adapters.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 215e720..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
-
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index f1cdfee..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 Adapters Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST Server Adapters.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2007 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 976c5a8..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_adapters.feature.source"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.server_adapters.feature"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.server_adapters.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</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.org CVS repository (&quot;Repository&quot;) in CVS
-   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 Eclipse Update Manager, 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>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 74ba64c..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,25 +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
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Server Adapters\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2007.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 5895597..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 86b5275..0000000
--- a/features/org.eclipse.wst.server_adapters.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=Web Standard Tools - Server Adapters Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/.cvsignore b/features/org.eclipse.wst.server_adapters.sdk.feature/.cvsignore
deleted file mode 100644
index 6eb0971..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-features
-plugins
-build.xml
-org.eclipse.jst.server_sdk.feature_1.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/.project b/features/org.eclipse.wst.server_adapters.sdk.feature/.project
deleted file mode 100644
index 3c723eb..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_adapters.sdk.feature</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_adapters.sdk.feature/build.properties b/features/org.eclipse.wst.server_adapters.sdk.feature/build.properties
deleted file mode 100644
index 1f724ad..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-
-generate.feature@org.eclipse.wst.server_adapters.feature.source=org.eclipse.wst.server_adapters.feature
-
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_adapters.sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/epl-v10.html b/features/org.eclipse.wst.server_adapters.sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/feature.properties b/features/org.eclipse.wst.server_adapters.sdk.feature/feature.properties
deleted file mode 100644
index 2bf33d9..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 Adapter Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST server tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2007 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/feature.xml b/features/org.eclipse.wst.server_adapters.sdk.feature/feature.xml
deleted file mode 100644
index 75f4862..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_adapters.sdk.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.server_adapters.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.wst.server_adapters.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_adapters.sdk.feature/license.html b/features/org.eclipse.wst.server_adapters.sdk.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.server_adapters.sdk.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.wst.server_core.feature/.cvsignore b/features/org.eclipse.wst.server_core.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.wst.server_core.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.wst.server_core.feature/.project b/features/org.eclipse.wst.server_core.feature/.project
deleted file mode 100644
index e5fd7da..0000000
--- a/features/org.eclipse.wst.server_core.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_core.feature</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/build.properties b/features/org.eclipse.wst.server_core.feature/build.properties
deleted file mode 100644
index 1cd216f..0000000
--- a/features/org.eclipse.wst.server_core.feature/build.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.wst.server_core.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_core.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_core.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_core.feature/epl-v10.html b/features/org.eclipse.wst.server_core.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_core.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_core.feature/feature.properties b/features/org.eclipse.wst.server_core.feature/feature.properties
deleted file mode 100644
index 5f60a64..0000000
--- a/features/org.eclipse.wst.server_core.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Server tools framework core
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_core.feature/feature.xml b/features/org.eclipse.wst.server_core.feature/feature.xml
deleted file mode 100644
index 7a78843..0000000
--- a/features/org.eclipse.wst.server_core.feature/feature.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_core.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.debug.core" version="3.2.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.server.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.internet.monitor.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_core.feature/license.html b/features/org.eclipse.wst.server_core.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.server_core.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index f249e9f..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 05bf582..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST Server Core.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 56999ab..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_core.feature.source"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.wst.server_core.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</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.org CVS repository (&quot;Repository&quot;) in CVS
-   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 Eclipse Update Manager, 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>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings

-# contains fill-ins for about.properties

-# java.io.Properties file (ISO 8859-1 with "\" escapes)

-# This file does not need to be translated.

-

-0=@build@

diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 96db91f..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Server Core\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index f95b457..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 902c8b3..0000000
--- a/features/org.eclipse.wst.server_core.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=Web Standard Tools - Server Core Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.server_sdk.feature/.cvsignore b/features/org.eclipse.wst.server_sdk.feature/.cvsignore
deleted file mode 100644
index ce8e3f9..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-features
-plugins
-org.eclipse.wst.server_sdk.feature_1.0.0.bin.dist.zip
-build.xml
diff --git a/features/org.eclipse.wst.server_sdk.feature/.project b/features/org.eclipse.wst.server_sdk.feature/.project
deleted file mode 100644
index 52f22c6..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_sdk.feature</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_sdk.feature/build.properties b/features/org.eclipse.wst.server_sdk.feature/build.properties
deleted file mode 100644
index 125d14a..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/build.properties
+++ /dev/null
@@ -1,17 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-
-generate.feature@org.eclipse.wst.server_ui.feature.source=org.eclipse.wst.server_ui.feature
diff --git a/features/org.eclipse.wst.server_sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_sdk.feature/epl-v10.html b/features/org.eclipse.wst.server_sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_sdk.feature/feature.properties b/features/org.eclipse.wst.server_sdk.feature/feature.properties
deleted file mode 100644
index 4048d68..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for the WST server tools
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_sdk.feature/feature.xml b/features/org.eclipse.wst.server_sdk.feature/feature.xml
deleted file mode 100644
index a1d2ae9..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/feature.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_sdk.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.server_ui.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.wst.server_ui.feature.source"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_sdk.feature/license.html b/features/org.eclipse.wst.server_sdk.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.wst.server_tests.feature/.cvsignore b/features/org.eclipse.wst.server_tests.feature/.cvsignore
deleted file mode 100644
index e444459..0000000
--- a/features/org.eclipse.wst.server_tests.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.wst.server_tests.feature_0.0.0.bin.dist.zip
diff --git a/features/org.eclipse.wst.server_tests.feature/.project b/features/org.eclipse.wst.server_tests.feature/.project
deleted file mode 100644
index de256ce..0000000
--- a/features/org.eclipse.wst.server_tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_tests.feature</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_tests.feature/build.properties b/features/org.eclipse.wst.server_tests.feature/build.properties
deleted file mode 100644
index 1cd216f..0000000
--- a/features/org.eclipse.wst.server_tests.feature/build.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.wst.server_tests.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_tests.feature/epl-v10.html b/features/org.eclipse.wst.server_tests.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_tests.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_tests.feature/feature.properties b/features/org.eclipse.wst.server_tests.feature/feature.properties
deleted file mode 100644
index 15bb38a..0000000
--- a/features/org.eclipse.wst.server_tests.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=WST Server tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_tests.feature/feature.xml b/features/org.eclipse.wst.server_tests.feature/feature.xml
deleted file mode 100644
index 9067ff4..0000000
--- a/features/org.eclipse.wst.server_tests.feature/feature.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_tests.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.wst.internet.monitor.ui.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.server.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.server.tests.performance"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.server.ui.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.server.http.core.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-</feature>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_tests.feature/license.html b/features/org.eclipse.wst.server_tests.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.server_tests.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.wst.server_ui.feature/.cvsignore b/features/org.eclipse.wst.server_ui.feature/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.wst.server_ui.feature/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.wst.server_ui.feature/.project b/features/org.eclipse.wst.server_ui.feature/.project
deleted file mode 100644
index c892b16..0000000
--- a/features/org.eclipse.wst.server_ui.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_ui.feature</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_ui.feature/build.properties b/features/org.eclipse.wst.server_ui.feature/build.properties
deleted file mode 100644
index 1cd216f..0000000
--- a/features/org.eclipse.wst.server_ui.feature/build.properties
+++ /dev/null
@@ -1,15 +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
-###############################################################################
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.wst.server_ui.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_ui.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_ui.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_ui.feature/epl-v10.html b/features/org.eclipse.wst.server_ui.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_ui.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_ui.feature/feature.properties b/features/org.eclipse.wst.server_ui.feature/feature.properties
deleted file mode 100644
index 41e8eb9..0000000
--- a/features/org.eclipse.wst.server_ui.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 UI
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Server tools framework UI
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_ui.feature/feature.xml b/features/org.eclipse.wst.server_ui.feature/feature.xml
deleted file mode 100644
index 5bd03db..0000000
--- a/features/org.eclipse.wst.server_ui.feature/feature.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_ui.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.server_userdoc.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.wst.server_core.feature"
-         version="0.0.0"/>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.internet.monitor.core" version="1.0.103" match="equivalent"/>
-      <import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.forms" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.browser" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.debug.core" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.debug.ui" version="3.2.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.core" version="1.0.103" match="equivalent"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.wst.internet.monitor.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.server.ui.infopop"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.server.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_ui.feature/license.html b/features/org.eclipse.wst.server_ui.feature/license.html
deleted file mode 100644
index 5644598..0000000
--- a/features/org.eclipse.wst.server_ui.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-    
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/build.properties b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/build.properties
deleted file mode 100644
index 1f9f82b..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.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 =\
-epl-v10.html,\
-eclipse_update_120.jpg,\
-feature.xml,\
-feature.properties,\
-license.html
-
-generate.feature@org.eclipse.wst.server_core.feature.source = org.eclipse.wst.server_core.feature
-
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index 022ad29..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 85e230b..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# 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 UI Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=Source code zips for WST Server UI.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.xml b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.xml
deleted file mode 100644
index 8e36597..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/feature.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_ui.feature.source"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.server_core.feature.source"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.server_ui.feature.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/license.html
deleted file mode 100644
index fec4a48..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</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.org CVS repository (&quot;Repository&quot;) in CVS
-   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 Eclipse Update Manager, 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>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</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>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.html b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index d4916df..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 06, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2dee36a..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index 0dfb735..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings

-# contains fill-ins for about.properties

-# java.io.Properties file (ISO 8859-1 with "\" escapes)

-# This file does not need to be translated.

-

-0=@build@

diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index 4e47398..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Web Standard Tools - Server UI\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index 5895597..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.gif, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 50ae49d..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 2c9ca2d..0000000
--- a/features/org.eclipse.wst.server_ui.feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=Web Standard Tools - Server UI Source
-providerName=Eclipse.org
diff --git a/features/org.eclipse.wst.server_userdoc.feature/.cvsignore b/features/org.eclipse.wst.server_userdoc.feature/.cvsignore
deleted file mode 100644
index 3106d5d..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-org.eclipse.wst.server_userdoc.feature_1.0.0.jar
diff --git a/features/org.eclipse.wst.server_userdoc.feature/.project b/features/org.eclipse.wst.server_userdoc.feature/.project
deleted file mode 100644
index 0c4ce44..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server_userdoc.feature</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_userdoc.feature/build.properties b/features/org.eclipse.wst.server_userdoc.feature/build.properties
deleted file mode 100644
index 7f47694..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
diff --git a/features/org.eclipse.wst.server_userdoc.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.server_userdoc.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.server_userdoc.feature/epl-v10.html b/features/org.eclipse.wst.server_userdoc.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&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. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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. </span></p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p><span style='font-size:10.0pt'>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.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.server_userdoc.feature/feature.properties b/features/org.eclipse.wst.server_userdoc.feature/feature.properties
deleted file mode 100644
index a5b710e..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/feature.properties
+++ /dev/null
@@ -1,145 +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
-###############################################################################
-# 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 User Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=WST server user documentation
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2006 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\
-June 06, 2007\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 Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-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.org CVS\n\
-repository ("Repository") in CVS 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? 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\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-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\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-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". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-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\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\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\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.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\
-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,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.server_userdoc.feature/feature.xml b/features/org.eclipse.wst.server_userdoc.feature/feature.xml
deleted file mode 100644
index a09a932..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/feature.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_userdoc.feature"
-      label="%featureName"
-      version="2.0.1.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.wst.server.ui.doc.user"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.server_userdoc.feature/license.html b/features/org.eclipse.wst.server_userdoc.feature/license.html
deleted file mode 100644
index 76abfb4..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). 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 ("EPL"). 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, "Program" 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.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). 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>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") 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 "license" property of 
-files named "feature.properties". 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>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <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>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <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>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>
-   
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.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>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></BODY></HTML>
diff --git a/plugins/org.eclipse.jst.server.core/.classpath b/plugins/org.eclipse.jst.server.core/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/plugins/org.eclipse.jst.server.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.core/.cvsignore b/plugins/org.eclipse.jst.server.core/.cvsignore
deleted file mode 100644
index 5f50554..0000000
--- a/plugins/org.eclipse.jst.server.core/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.core_3.0.0.jar
-src.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.core/.options b/plugins/org.eclipse.jst.server.core/.options
deleted file mode 100644
index c0ef0b3..0000000
--- a/plugins/org.eclipse.jst.server.core/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.core plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.core/debug=true
-
-# Turn on general debugging
-org.eclipse.jst.server.core/publishing=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/.project b/plugins/org.eclipse.jst.server.core/.project
deleted file mode 100644
index 7d5e17d..0000000
--- a/plugins/org.eclipse.jst.server.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.jst.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.jst.server.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 267ae57..0000000
--- a/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Fri Feb 23 21:15:39 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c39847e..0000000
--- a/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:15:38 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.jst.server.core/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jst.server.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.jst.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.jst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 8cb3b7a..0000000
--- a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.core; singleton:=true
-Bundle-Version: 1.0.205.qualifier
-Bundle-Activator: org.eclipse.jst.server.core.internal.JavaServerPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.core,
- org.eclipse.jst.server.core.internal;x-friends:="org.eclipse.jst.server.ui",
- org.eclipse.jst.server.core.internal.cactus;x-friends:="org.eclipse.jst.server.ui"
-Require-Bundle: org.eclipse.core.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.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.jst.server.core/about.html b/plugins/org.eclipse.jst.server.core/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.jst.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 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.core/build.properties b/plugins/org.eclipse.jst.server.core/build.properties
deleted file mode 100644
index 27bddaa..0000000
--- a/plugins/org.eclipse.jst.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,\
-               .,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/,\
-               component.xml
-source.. = src/
diff --git a/plugins/org.eclipse.jst.server.core/component.xml b/plugins/org.eclipse.jst.server.core/component.xml
deleted file mode 100644
index 34b77d8..0000000
--- a/plugins/org.eclipse.jst.server.core/component.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jst.server">
-<component-depends unrestricted="true"/>
-  <plugin id="org.eclipse.jst.server.core" fragment="false"/>
-<!--  <package name="org.eclipse.jst.server.core">
-    <type name="IConnectorModule"/>
-    <type name="IEJBModule"/>
-    <type name="IJ2EEModule"/>
-    <type name="Servlet"/>
-    <type name="IWebModule"/>
-    <type name="IEnterpriseApplication"/>
-    <type name="JndiObject"/>
-    <type name="ClasspathRuntimeTargetHandler"/>
-    <type name="IApplicationClientModule"/>
-    <type name="EJBBean"/>
-    <type name="JndiLaunchable"/>
-    <type name="PublishUtil"/>
-    <type name="IJavaRuntime"/>
-  </package>-->
-
-  <plugin id="org.eclipse.jst.server.ui" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.generic.core" fragment="false"/>
-  <plugin id="org.eclipse.jst.server.generic.ui" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.tomcat.core" fragment="false"/>
-  <plugin id="org.eclipse.jst.server.tomcat.ui" fragment="false"/>
-
-  <plugin id="org.eclipse.jst.server.installable" fragment="false"/>
-  <plugin id="org.eclipse.jst.server.generic.jboss" fragment="false"/>
-  <plugin id="org.eclipse.jst.server.generic.jonas" fragment="false"/>
-  <plugin id="org.eclipse.jst.server.generic.oc4j" fragment="false"/>
-  <plugin id="org.eclipse.jst.server.generic.weblogic" fragment="false"/>
-  <plugin id="org.eclipse.jst.server.websphere.core" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/plugin.properties b/plugins/org.eclipse.jst.server.core/plugin.properties
deleted file mode 100644
index 0b0bdb9..0000000
--- a/plugins/org.eclipse.jst.server.core/plugin.properties
+++ /dev/null
@@ -1,37 +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
-###############################################################################
-pluginName=Java Server Support
-providerName=Eclipse.org
-
-extensionPointRuntimeClasspathProviders=Runtime Classpath Providers
-extensionPointRuntimeFacetMapping=Runtime Facet Mappings
-extensionPointServerProfilers=Server Profilers
-
-runtimeTypeName=J2EE Runtime Library
-runtimeTypeDescription=A runtime that represents a set of J2EE runtime libraries.
-
-moduleTypeJ2EEWebName=J2EE Web module
-moduleTypeJ2EEEJBName=J2EE EJB module
-moduleTypeJ2EERARName=J2EE Connector module
-moduleTypeJ2EEClientName=J2EE Application Client module
-moduleTypeJ2EEEARName=J2EE Enterprise application
-moduleTypeJ2EEUtilityName=J2EE Utility jar
-
-launchableJndi=JNDI Object
-launchableJndiDescription=Silently start an object locatable by JNDI.
-
-previewRuntimeTypeName=J2EE Preview
-previewRuntimeTypeDescription=A runtime for building J2EE web modules.
-
-previewServerTypeName=J2EE Preview
-previewServerTypeDescription=A server to preview J2EE web modules.
-
-previewLaunchConfigurationType=J2EE Preview
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/plugin.xml b/plugins/org.eclipse.jst.server.core/plugin.xml
deleted file mode 100644
index 6a1a052..0000000
--- a/plugins/org.eclipse.jst.server.core/plugin.xml
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension-point id="runtimeClasspathProviders" name="%extensionPointRuntimeClasspathProviders" schema="schema/runtimeClasspathProviders.exsd"/>
-  <extension-point id="runtimeFacetMappings" name="%extensionPointRuntimeFacetMappings" schema="schema/runtimeFacetMappings.exsd"/>
-  <extension-point id="serverProfilers" name="%extensionPointServerProfilers" schema="schema/serverProfilers.exsd"/>
-  <extension-point id="internalRuntimeComponentProviders" name="internalRuntimeComponentProviders" schema="schema/internalRuntimeComponentProviders.exsd"/>
-
-  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
-    <classpathContainerInitializer
-      id="org.eclipse.jst.server.core.container"
-      class="org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.moduleTypes">
-    <moduleType
-       id="jst.web"
-       name="%moduleTypeJ2EEWebName"/>
-    <moduleType
-       id="jst.ejb"
-       name="%moduleTypeJ2EEEJBName"/>
-    <moduleType
-       id="jst.appclient"
-       name="%moduleTypeJ2EEClientName"/>
-    <moduleType
-       id="jst.connector"
-       name="%moduleTypeJ2EERARName"/>
-    <moduleType
-       id="jst.ear"
-       name="%moduleTypeJ2EEEARName"/>
-    <moduleType
-       id="jst.utility"
-       name="%moduleTypeJ2EEUtilityName"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.runtimeTypes">
-    <runtimeType
-       id="org.eclipse.jst.server.core.runtimeType"
-       name="%runtimeTypeName"
-       description="%runtimeTypeDescription"
-       facetRuntimeComponent="org.eclipse.jst.server.core.runtimeType"
-       facetRuntimeVersion="1.0"
-       class="org.eclipse.jst.server.core.internal.GenericRuntime">
-       <moduleType
-         types="jst.*"
-         versions="*"/>
-    </runtimeType>
-  </extension>
-
-  <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
-    <runtimeClasspathProvider
-      id="org.eclipse.jst.server.core.runtimeTarget"
-      runtimeTypeIds="org.eclipse.jst.server.core.runtimeType"
-      class="org.eclipse.jst.server.core.internal.GenericRuntimeClasspathProvider"/>
-  </extension>
-
-  <extension point="org.eclipse.core.expressions.propertyTesters">
-    <propertyTester
-      namespace="org.eclipse.jst.cactus.expressions"
-      type="org.eclipse.core.runtime.IAdaptable"
-      class="org.eclipse.jst.server.core.internal.cactus.ServletTestCasePropertyTester"
-      properties="isServletTestCase"
-      id="org.eclipse.jst.server.cactus.expression"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.moduleArtifactAdapters">
-    <moduleArtifactAdapter
-      id="org.eclipse.jst.server.cactus.moduleArtifactAdapter"
-      class="org.eclipse.jst.server.core.internal.cactus.CactusModuleArtifactAdapterDelegate"
-      priority="10">
-      <enablement>
-         <or>
-            <instanceof value="org.eclipse.jdt.core.IMethod"/>
-            <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
-            <instanceof value="org.eclipse.jdt.core.IType"/>
-            <instanceof value="org.eclipse.core.resources.IFile"/>
-         </or>
-      </enablement>
-    </moduleArtifactAdapter>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.launchableAdapters">
-    <launchableAdapter
-       id="org.eclipse.jst.server.cactus.launchableAdapter"
-       class="org.eclipse.jst.server.core.internal.cactus.CactusLaunchableAdapterDelegate"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.clients">
-    <client
-      id="org.eclipse.jst.server.jndi"
-      name="%launchableJndi"
-      description="%launchableJndiDescription"
-      priority="-100"
-      launchable="org.eclipse.jst.server.core.JndiLaunchable"
-      class="org.eclipse.jst.server.core.internal.J2EELaunchableClient"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <runtime-component-type id="standard.jre"/>
-
-    <runtime-component-version
-       type="standard.jre"
-       version="1.3"/>
-    <runtime-component-version
-       type="standard.jre"
-       version="1.4"/>
-    <runtime-component-version
-       type="standard.jre"
-       version="5.0"/>
-    <runtime-component-version
-       type="standard.jre"
-       version="6.0"/>
-
-    <adapter>
-      <runtime-component id="standard.jre"/>
-      <factory class="org.eclipse.jst.server.core.internal.StandardJreClasspathProvider$Factory"/>
-      <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
-    </adapter>
-
-    <supported>
-      <facet id="jst.java" version="1.3"/>
-      <runtime-component id="standard.jre" version="[1.3"/>
-    </supported>
-
-    <supported>
-      <facet id="jst.java" version="1.4"/>
-      <runtime-component id="standard.jre" version="[1.4"/>
-    </supported>
-
-    <supported>
-      <facet id="jst.java" version="5.0"/>
-      <runtime-component id="standard.jre" version="[5.0"/>
-    </supported>
-
-    <supported>
-      <facet id="jst.java" version="6.0"/>
-      <runtime-component id="standard.jre" version="[6.0"/>
-    </supported>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <runtime-component-type
-       id="org.eclipse.jst.server.core.runtimeType"/>
-
-    <runtime-component-version
-       type="org.eclipse.jst.server.core.runtimeType"
-       version="1.0"/>
-
-    <adapter>
-      <runtime-component
-         id="org.eclipse.jst.server.core.runtimeType"/>
-      <factory
-         class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
-      <type
-         class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
-    </adapter>
-
-    <supported>
-      <runtime-component
-         id="org.eclipse.jst.server.core.runtimeType"
-         version="1.0"/>
-      <facet
-         id="jst.web"
-         version="2.2,2.3,2.4,2.5"/>
-      <facet
-         id="jst.ejb"
-         version="1.1,2.0,2.1,3.0"/>
-      <facet
-         id="jst.ear"
-         version="1.2,1.3,1.4,5.0"/>
-      <facet
-         id="jst.connector"
-         version="1.0,1.5"/>
-      <facet
-         id="jst.appclient"
-         version="1.2,1.3,1.4,5.0"/>
-      <facet
-         id="jst.utility"
-         version="1.0"/>
-    </supported>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.runtimeFacetComponentProviders">
-    <runtimeComponentProvider
-      id="org.eclipse.jst.server.core.JRERuntimeComponentProvider"
-      runtimeTypeIds="*"
-      class="org.eclipse.jst.server.core.internal.JRERuntimeComponentProvider"/>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/schema/internalRuntimeComponentProviders.exsd b/plugins/org.eclipse.jst.server.core/schema/internalRuntimeComponentProviders.exsd
deleted file mode 100644
index cf481bd..0000000
--- a/plugins/org.eclipse.jst.server.core/schema/internalRuntimeComponentProviders.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.core" id="runtimeComponentProviders" name="Runtime 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>
-         1.5.1
-      </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.jst.server.core.runtimeComponentProviders&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.jst.server.core.RuntimeClasspathProviderDelegate&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) 2006 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.jst.server.core/schema/runtimeClasspathProviders.exsd b/plugins/org.eclipse.jst.server.core/schema/runtimeClasspathProviders.exsd
deleted file mode 100644
index 90de0c1..0000000
--- a/plugins/org.eclipse.jst.server.core/schema/runtimeClasspathProviders.exsd
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.core" id="runtimeClasspathProviders" name="Runtime Classpath Providers"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to provide a new runtime classpath provider. Runtime classpath providers provide the classpath for Java server runtimes.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="runtimeClasspathProvider" 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="runtimeClasspathProvider">
-      <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>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a runtime classpath provider extension point:
-
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.jst.server.core.runtimeClasspathProviders&quot;&gt;
-     &lt;runtimeClasspathProvider
-        id=&quot;com.example.runtimeClasspathProvider&quot;
-        runtimeTypeIds=&quot;com.example.runtime, com.example2.*&quot;
-        class=&quot;com.example.ExampleRuntimeClasspathProvider&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.jst.server.core.RuntimeClasspathProviderDelegate&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) 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.jst.server.core/schema/runtimeFacetMappings.exsd b/plugins/org.eclipse.jst.server.core/schema/runtimeFacetMappings.exsd
deleted file mode 100644
index 94d332e..0000000
--- a/plugins/org.eclipse.jst.server.core/schema/runtimeFacetMappings.exsd
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.core" id="runtimeFacetMappings" name="Runtime Facet Mappings"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to map between a facet runtime component and a server runtime type.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="runtimeFacetMapping" 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="runtimeFacetMapping">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="runtimeTypeId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a runtime type id
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="runtime-component" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a facet runtime component id
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a facet runtime component version
-               </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 facet mapping extension point:
-
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.jst.server.core.runtimeFacetMappings&quot;&gt;
-     &lt;runtimeFacetMapping
-        id=&quot;com.example.runtimeClasspathProvider&quot;
-        runtimeTypeId=&quot;com.example.runtime.32&quot;
-        runtime-component=&quot;com.example.ExampleRuntimeClasspathProvider&quot;
-        version=&quot;3.2&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.jst.server.core/schema/serverProfilers.exsd b/plugins/org.eclipse.jst.server.core/schema/serverProfilers.exsd
deleted file mode 100644
index 4d0b485..0000000
--- a/plugins/org.eclipse.jst.server.core/schema/serverProfilers.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.core" id="serverProfilers" name="Server Profiler"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to provide support for profiling servers.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="serverProfiler" 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="serverProfiler">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translated name
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a class that extends org.eclipse.jst.server.core.ServerProfilerDelegate
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.server.core.ServerProfilerDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.5
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a server profiler extension point:
-
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.jst.server.core.serverProfilers&quot;&gt;
-     &lt;serverProfiler
-        id=&quot;com.example.myProfiler&quot;
-        name=&quot;My Profiler&quot;
-        vmArgs=&quot;-XpiAgent&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) 2006 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.jst.server.core/src/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
deleted file mode 100644
index 11a4da2..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ClasspathRuntimeTargetHandler.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core;
-
-import java.io.File;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.model.RuntimeTargetHandlerDelegate;
-/**
- * A runtime target handler that supports changing the classpath of the
- * project by adding one or more classpath containers. Runtime providers
- * can extend this class and implement the abstract methods to provide
- * the correct build path for their runtime type.
- * 
- * @deprecated Should use org.eclipse.jst.server.core.runtimeClasspathProviders
- *    extension point instead
- */
-public abstract class ClasspathRuntimeTargetHandler extends RuntimeTargetHandlerDelegate {
-	/** (non-Javadoc)
-	 * @see RuntimeTargetHandlerDelegate#setRuntimeTarget(IProject, IRuntime, IProgressMonitor)
-	 */
-	public void setRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) throws CoreException {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/** (non-Javadoc)
-	 * @see RuntimeTargetHandlerDelegate#removeRuntimeTarget(IProject, IRuntime, IProgressMonitor)
-	 */
-	public void removeRuntimeTarget(IProject project, IRuntime runtime, IProgressMonitor monitor) {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Add library entries to the given list for every jar file found in the
-	 * given directory. Optionally search subdirectories as well.
-	 * 
-	 * @param list a list
-	 * @param dir a directory
-	 * @param includeSubdirectories <code>true</code> to include subdirectories, and
-	 *    <code>false</code> otherwise
-	 */
-	protected static void addLibraryEntries(List list, File dir, boolean includeSubdirectories) {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Returns the classpath entries that correspond to the given runtime.
-	 * 
-	 * @param runtime a runtime
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return an array of classpath entries
-	 */
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Returns the classpath entry ids for this runtime target handler. These
-	 * ids will be added to the classpath container id to create a new fully
-	 * qualified classpath container id.
-	 * <p>
-	 * By default, there is a single classpath entry for the runtime, with no
-	 * extra id (<code>new String[1]</code>). To create multiple ids, just
-	 * return a string array containing the ids. For instance, to have two
-	 * classpath containers with ids "id1" and "id2", use
-	 * <code>new String[] { "id1", "id2" }</code>
-	 * </p>
-	 * 
-	 * @return an array of classpath entry ids
-	 */
-	public String[] getClasspathEntryIds() {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Request that the classpath container for the given runtime and id be updated
-	 * with the given classpath container entries.
-	 * 
-	 * @param runtime a runtime
-	 * @param id an id
-	 * @param entries an array of classpath entries
-	 */
-	public void requestClasspathContainerUpdate(IRuntime runtime, String id, IClasspathEntry[] entries) {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Returns the classpath container label for the given runtime and the given
-	 * classpath container id (returned from getClasspathEntryIds()). This method
-	 * must not return null.
-	 * 
-	 * @param runtime the runtime to resolve the container label for
-	 * @param id the classpath entry id
-	 * @return a classpath container label
-	 */
-	public abstract String getClasspathContainerLabel(IRuntime runtime, String id);
-
-	/**
-	 * Resolve the classpath container.
-	 * 
-	 * @param runtime a runtime
-	 * @param id a container id
-	 * @return a possibly empty array of classpath entries
-	 */
-	public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime, String id) {
-		throw new RuntimeException("Attempt to use deprecated code");
-	}
-
-	/**
-	 * Resolves (creates the classpath entries for) the classpath container with
-	 * the given runtime and the given classpath container id (returned from
-	 * getClasspathEntryIds()). If the classpath container cannot be resolved
-	 * (for instance, if the runtime does not exist), return null.
-	 * 
-	 * @param runtime the runtime to resolve the container for
-	 * @param id the classpath entry id
-	 * @return an array of classpath entries for the container, or null if the
-	 *   container could not be resolved
-	 */
-	public abstract IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/EJBBean.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/EJBBean.java
deleted file mode 100644
index 41cb052..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/EJBBean.java
+++ /dev/null
@@ -1,126 +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.jst.server.core;
-
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-/**
- * An EJB bean.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public class EJBBean extends ModuleArtifactDelegate {
-	private String jndiName;
-	private boolean local;
-	private boolean remote;
-
-	/**
-	 * Create a new EJBBean.
-	 * 
-	 * @param module the module that the EJB is contained in
-	 * @param jndiName the JNDI name of the EJB
-	 * @param remote <code>true</code> if the EJB has a remote interface, and
-	 *    <code>false</code> otherwise
-	 * @param local <code>true</code> if the EJB has a local interface, and
-	 *    <code>false</code> otherwise
-	 */
-	public EJBBean(IModule module, String jndiName, boolean remote, boolean local) {
-		super(module);
-		this.jndiName = jndiName;
-		this.remote = remote;
-		this.local = local;
-	}
-
-	/**
-	 * Create a new empty EJBBean.
-	 */
-	public EJBBean() {
-		super();
-	}
-
-	/**
-	 * Returns the JNDI name of the EJB.
-	 * 
-	 * @return the JNDI name of the EJB
-	 */
-	public String getJndiName() {
-		return jndiName;
-	}
-
-	/**
-	 * Returns whether the EJB has a remote interface.
-	 * 
-	 * @return <code>true</code> if the EJB has a remote interface, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean hasRemoteInterface() {
-		return remote;
-	}
-
-	/**
-	 * Returns whether the EJB has a local interface.
-	 * 
-	 * @return <code>true</code> if the EJB has a local interface, and
-	 *    <code>false</code> otherwise
-	 */
-	public boolean hasLocalInterface() {
-		return local;
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#getName()
-	 */
-	public String getName() {
-		return NLS.bind(Messages.artifactEJB, jndiName.toString());
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#deserialize(String)
-	 */
-	public void deserialize(String s) {
-		int ind = s.indexOf("//");
-		super.deserialize(s.substring(0, ind));
-		if ('T' == s.charAt(ind+2))
-			local = true;
-		else
-			local = false;
-		if ('T' == s.charAt(ind+3))
-			remote = true;
-		else
-			remote = false;
-		jndiName = s.substring(ind+4);
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#serialize()
-	 */
-	public String serialize() {
-		StringBuffer sb = new StringBuffer(super.serialize());
-		sb.append("//");
-		if (local)
-			sb.append("T");
-		else
-			sb.append("F");
-		if (remote)
-			sb.append("T");
-		else
-			sb.append("F");
-		sb.append(jndiName);
-		return sb.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/FacetUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/FacetUtil.java
deleted file mode 100644
index 201dc78..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/FacetUtil.java
+++ /dev/null
@@ -1,75 +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.jst.server.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-/**
- * 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) {
-		return org.eclipse.wst.server.core.internal.facets.FacetUtil.getRuntime(runtime);
-	}
-
-	/**
-	 * 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) {
-		return org.eclipse.wst.server.core.internal.facets.FacetUtil.getRuntime(runtime);
-	}
-
-	/**
-	 * 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) {
-		return org.eclipse.wst.server.core.internal.facets.FacetUtil.verifyFacets(project, server);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IApplicationClientModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IApplicationClientModule.java
deleted file mode 100644
index 03570e1..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IApplicationClientModule.java
+++ /dev/null
@@ -1,24 +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.jst.server.core;
-/**
- * A J2EE application client module.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public interface IApplicationClientModule extends IJ2EEModule {
-	// intentionally empty
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IConnectorModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IConnectorModule.java
deleted file mode 100644
index d836725..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IConnectorModule.java
+++ /dev/null
@@ -1,31 +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.jst.server.core;
-
-import org.eclipse.core.runtime.IPath;
-/**
- * A J2EE connector module.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public interface IConnectorModule extends IJ2EEModule {
-	/**
-	 * Returns the classpath as an array of absolute IPaths.
-	 * 
-	 * @return an array of classpath entries
-	 */
-	public IPath[] getClasspath();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEJBModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEJBModule.java
deleted file mode 100644
index f610656..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEJBModule.java
+++ /dev/null
@@ -1,24 +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.jst.server.core;
-/**
- * A representation of a J2EE EJB module.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public interface IEJBModule extends IJ2EEModule {
-	// intentionally empty
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEnterpriseApplication.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEnterpriseApplication.java
deleted file mode 100644
index 7ea1d77..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IEnterpriseApplication.java
+++ /dev/null
@@ -1,50 +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.jst.server.core;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.wst.server.core.IModule;
-/**
- * A representation of a J2EE enterprise application (EAR file).
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public interface IEnterpriseApplication {
-	/**
-	 * Returns the modules contained within this EAR. The returned modules will
-	 * either be J2EE modules (which will be adaptable to IJ2EEModule) or
-	 * utility jars contained in the EAR.
-	 * 
-	 * @return a possibly empty array of modules contained within this application
-	 */
-	public IModule[] getModules();
-
-	/**
-	 * Returns the URI of the given module within this enterprise application.
-	 * 
-	 * @param module a module within this application
-	 * @return the URI of the given module, or <code>null</code> if the URI could
-	 *    not be found
-	 */
-	public String getURI(IModule module);
-
-	/**
-	 * Returns the root folders for the resources in this module.
-	 * 
-	 * @return a possibly-empty array of resource folders
-	 */
-	public IContainer[] getResourceFolders();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJ2EEModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJ2EEModule.java
deleted file mode 100644
index b4d974b..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJ2EEModule.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.jst.server.core;
-
-import org.eclipse.core.resources.IContainer;
-/**
- * A J2EE module that can be deployed to a server.
- * 
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public interface IJ2EEModule {
-	/**
-	 * Returns the root folders for the resources in this module. Returns an empty
-	 * array if this is a binary module.
-	 * 
-	 * @return a possibly-empty array of resource folders
-	 */
-	public IContainer[] getResourceFolders();
-
-	/**
-	 * Returns the root folders containing Java output in this module. Returns an
-	 * empty array if this is a binary module.
-	 * 
-	 * @return a possibly-empty array of Java output folders
-	 */
-	public IContainer[] getJavaOutputFolders();
-
-	/**
-	 * Returns true if this is a binary (zipped) module, and
-	 * false if it is expanded.
-	 * 
-	 * <p>If true, members() should return only a single element -
-	 * the binary (jar or zip file) that contains the contents of
-	 * this module. (a single IModuleResource, e.g.
-	 * myejb.jar) Also, getLocation() should return the full path
-	 * up to and including the binary itself. (e.g.
-	 * c:\temp\myejb.jar)</p>
-	 * 
-	 * <p>If false, members() should return the entire contents
-	 * of the module, starting at the root. There should be no
-	 * preceeding directory structure. (an array of
-	 * IModuleResources, e.g. index.html, WEB-INF/web.xml,
-	 * ...) In this case, getLocation() should return the path to
-	 * the root folder containing these resources.</p>
-	 * 
-	 * @return boolean
-	 */
-	public boolean isBinary();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntime.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntime.java
deleted file mode 100644
index 6a51693..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IJavaRuntime.java
+++ /dev/null
@@ -1,40 +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.jst.server.core;
-
-import org.eclipse.jdt.launching.IVMInstall;
-/**
- * An interface for a server that contains a Java runtime.
- * <p>
- * <b>Note:</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 3.0
- */
-public interface IJavaRuntime {
-	/**
-	 * Return the VM install (installed JRE) that this runtime is using.
-	 * 
-	 * @return the current VM install
-	 */
-	public IVMInstall getVMInstall();
-
-	/**
-	 * Returns <code>true</code> if the runtime is using the default JRE.
-	 * 
-	 * @return <code>true</code> if the runtime is using the default JRE,
-	 *    and <code>false</code> otherwise
-	 * @since 2.0
-	 */
-	public boolean isUsingDefaultJRE();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IUtilityModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IUtilityModule.java
deleted file mode 100644
index f013f69..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IUtilityModule.java
+++ /dev/null
@@ -1,61 +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.jst.server.core;
-
-import org.eclipse.core.resources.IContainer;
-/**
- * A J2EE utility module that can be deployed to a server.
- * 
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public interface IUtilityModule {
-	/**
-	 * Returns the root folders for the resources in this module.
-	 * 
-	 * @return a possibly-empty array of resource folders
-	 */
-	public IContainer[] getResourceFolders();
-
-	/**
-	 * Returns the root folders containing Java output in this module.
-	 * 
-	 * @return a possibly-empty array of Java output folders
-	 */
-	public IContainer[] getJavaOutputFolders();
-
-	/**
-	 * Returns true if this is a binary (zipped) module, and
-	 * false if it is expanded.
-	 * 
-	 * <p>If true, members() should return only a single element -
-	 * the binary (jar or zip file) that contains the contents of
-	 * this module. (a single IModuleResource, e.g.
-	 * myejb.jar) Also, getLocation() should return the full path
-	 * up to and including the binary itself. (e.g.
-	 * c:\temp\myejb.jar)</p>
-	 * 
-	 * <p>If false, members() should return the entire contents
-	 * of the module, starting at the root. There should be no
-	 * preceeding directory structure. (an array of
-	 * IModuleResources, e.g. index.html, WEB-INF/web.xml,
-	 * ...) In this case, getLocation() should return the path to
-	 * the root folder containing these resources.</p>
-	 * 
-	 * @return boolean
-	 */
-	public boolean isBinary();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IWebModule.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IWebModule.java
deleted file mode 100644
index c042b43..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/IWebModule.java
+++ /dev/null
@@ -1,47 +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.jst.server.core;
-
-import org.eclipse.wst.server.core.IModule;
-/**
- * A J2EE web module.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public interface IWebModule extends IJ2EEModule {
-	/**
-	 * Returns the context root of the module.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String getContextRoot();
-
-	/**
-	 * Returns the utility modules contained within this WAR.
-	 *
-	 * @return a possibly empty array of modules contained within this application
-	 */
-	public IModule[] getModules();
-
-	/**
-	 * Returns the URI of the given contained module.
-	 *
-	 * @param module a module
-	 * @return the URI of the given module, or <code>null</code> if the URI could
-	 *    not be found
-	 */
-	public String getURI(IModule module);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiLaunchable.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiLaunchable.java
deleted file mode 100644
index db5304c..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiLaunchable.java
+++ /dev/null
@@ -1,56 +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.jst.server.core;
-
-import java.util.Properties;
-/**
- * A representation of an object in JNDI that can be tested on a server.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public class JndiLaunchable {
-	private Properties props;
-	private String jndiName;
-
-	/**
-	 * Create a reference to an object that is launchable via JNDI.
-	 * 
-	 * @param props the JNDI properties required to connect to the object
-	 * @param jndiName the JNDI name of the object
-	 */
-	public JndiLaunchable(Properties props, String jndiName) {
-		this.jndiName = jndiName;
-		this.props = props;
-	}
-
-	/**
-	 * Returns the JNDI properties required to connect to the object.
-	 * 
-	 * @return the JNDI properties required to connect to the object
-	 */
-	public Properties getProperties() {
-		return props;
-	}
-
-	/**
-	 * Returns the JNDI name of the object.
-	 * 
-	 * @return the JNDI name of the object
-	 */
-	public String getJNDIName() {
-		return jndiName;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiObject.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiObject.java
deleted file mode 100644
index f02e922..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/JndiObject.java
+++ /dev/null
@@ -1,82 +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.jst.server.core;
-
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-/**
- * A representation of an object in JNDI that can be tested on a server.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public class JndiObject extends ModuleArtifactDelegate {
-	private String jndiName;
-
-	/**
-	 * Create a reference to an object in JNDI.
-	 * 
-	 * @param module the module that the object is contained in
-	 * @param jndiName the JNDI name of the object
-	 */
-	public JndiObject(IModule module, String jndiName) {
-		super(module);
-		this.jndiName = jndiName;
-	}
-
-	/**
-	 * Create an empty reference to an object in JNDI.
-	 */
-	public JndiObject() {
-		super();
-	}
-
-	/**
-	 * Return the JNDI name of the object.
-	 * 
-	 * @return the JNDI name of the object
-	 */
-	public String getJndiName() {
-		return jndiName;
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#getName()
-	 */
-	public String getName() {
-		return NLS.bind(Messages.artifactJNDI, jndiName);
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#deserialize(String)
-	 */
-	public void deserialize(String s) {
-		int ind = s.indexOf("//");
-		super.deserialize(s.substring(0, ind));
-		jndiName = s.substring(ind+2);
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#serialize()
-	 */
-	public String serialize() {
-		StringBuffer sb = new StringBuffer(super.serialize());
-		sb.append("//");
-		sb.append(jndiName);
-		return sb.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/PublishUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/PublishUtil.java
deleted file mode 100644
index 640e2b5..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/PublishUtil.java
+++ /dev/null
@@ -1,237 +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.jst.server.core;
-
-import java.io.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.jst.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.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>
- * <p>
- * <b>Note:</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 3.0
- */
-public final class PublishUtil {
-	// size of the buffer
-	private static final int BUFFER = 65536;
-
-	// the buffer
-	private static byte[] buf = new byte[BUFFER];
-
-	/**
-	 * PublishUtil cannot be created. Use static methods.
-	 */
-	private PublishUtil() {
-		// can't create
-	}
-
-	/**
-	 * Copy a file from a to b. Closes the input stream after use.
-	 *
-	 * @param in java.io.InputStream
-	 * @param to java.lang.String
-	 * @deprecated Unused - will be removed.
-	 * @return a status
-	 */
-	public static IStatus copyFile(InputStream in, String to) {
-		OutputStream out = null;
-		
-		try {
-			out = new FileOutputStream(to);
-			
-			int avail = in.read(buf);
-			while (avail > 0) {
-				out.write(buf, 0, avail);
-				avail = in.read(buf);
-			}
-			return Status.OK_STATUS;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error copying file", e);
-			return new Status(IStatus.ERROR, JavaServerPlugin.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
-			}
-		}
-	}
-
-	/**
-	 * Smart copy the given module resources to the given path.
-	 * 
-	 * @param resources
-	 * @param path
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException
-	 * @deprecated This method only returns a single error in the case of failure. Use publishSmart() instead.
-	 */
-	public static void smartCopy(IModuleResource[] resources, IPath path, IProgressMonitor monitor) throws CoreException {
-		IStatus[] status = PublishUtil.publishSmart(resources, path, monitor);
-		if (status != null && status.length > 0)
-			throw new CoreException(status[0]);
-	}
-
-	/**
-	 * Handle a delta publish.
-	 * 
-	 * @param kind
-	 * @param path
-	 * @param delta
-	 * @throws CoreException
-	 * @deprecated This method only returns a single error in the case of failure. Use publishDelta() instead.
-	 */
-	public static void handleDelta(int kind, IPath path, IModuleResourceDelta delta) throws CoreException {
-		IStatus[] status = PublishUtil.publishDelta(delta, path, null);
-		if (status != null && status.length > 0)
-			throw new CoreException(status[0]);
-	}
-
-	/**
-	 * 
-	 * @param path
-	 * @param file
-	 * @deprecated does not fail or return status if delete doesn't work
-	 */
-	protected static void deleteFile(IPath path, IModuleFile file) {
-		Trace.trace(Trace.PUBLISHING, "Deleting: " + file.getName() + " from " + path.toString());
-		IPath path2 = path.append(file.getModuleRelativePath()).append(file.getName());
-		path2.toFile().delete();
-	}
-
-	/**
-	 * 
-	 * @param resources
-	 * @param path
-	 * @throws CoreException
-	 * @deprecated This method only returns a single error in the case of failure. Use publishFull() instead
-	 */
-	public static void copy(IModuleResource[] resources, IPath path) throws CoreException {
-		IStatus[] status = PublishUtil.publishFull(resources, path, null);
-		if (status != null && status.length > 0)
-			throw new CoreException(status[0]);
-	}
-
-	/**
-	 * 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
-	 * @param zipPath
-	 * @throws CoreException
-	 */
-	public static void createZipFile(IModuleResource[] resources, IPath zipPath) throws CoreException {
-		IStatus[] status = PublishUtil.publishZip(resources, zipPath, null);
-		if (status != null && status.length > 0)
-			throw new CoreException(status[0]);
-	}
-
-	/**
-	 * 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 org.eclipse.wst.server.core.util.PublishUtil.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 org.eclipse.wst.server.core.util.PublishUtil.publishSmart(resources, 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 org.eclipse.wst.server.core.util.PublishUtil.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 org.eclipse.wst.server.core.util.PublishUtil.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 org.eclipse.wst.server.core.util.PublishUtil.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 org.eclipse.wst.server.core.util.PublishUtil.publishZip(resources, path, monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
deleted file mode 100644
index 4b9a5c6..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
+++ /dev/null
@@ -1,363 +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.jst.server.core;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IAccessRule;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.server.core.internal.IMemento;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.RuntimeClasspathContainer;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.jst.server.core.internal.XMLMemento;
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * A runtime classpath provider provides the classpath for a Java server runtime.
- * This provider is scoped by runtime type and may provide the classpath for multiple
- * runtime instances.
- * <p>
- * This abstract class is intended to be extended only by clients
- * to extend the <code>runtimeClasspathProviders</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 3.0
- */
-public abstract class RuntimeClasspathProviderDelegate {
-	protected class SourceAttachmentUpdate {
-		String runtimeId;
-		IPath entry;
-		IPath sourceAttachmentPath;
-		IPath sourceAttachmentRootPath;
-		IClasspathAttribute[] attributes;
-	}
-
-	private List sourceAttachments;
-
-	private String extensionId;
-
-	private Map runtimePathMap = new HashMap();
-
-	private Map previousClasspath = new HashMap();
-
-	public RuntimeClasspathProviderDelegate() {
-		// default constructor
-	}
-
-	/**
-	 * Initializes this classpath provider with its life-long id.
-	 * <p>
-	 * This method is called by the framework.
-	 * Clients should never call this method.
-	 * </p>
-	 * @param id the extension id
-	 */
-	public final void initialize(String id) {
-		extensionId = id;
-	}
-
-	/**
-	 * Resolves (creates the classpath entries for) the classpath container with
-	 * the given runtime and the given classpath container id (returned from
-	 * getClasspathEntryIds()). If the classpath container cannot be resolved
-	 * (for instance, if the runtime does not exist), return null.
-	 * 
-	 * @param runtime the runtime to resolve the container for
-	 * @return an array of classpath entries for the container, or null if the
-	 *   container could not be resolved
-	 * @deprecated use resolveClasspathContainer(IProject, IRuntime) instead
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
-		return null;
-	}
-
-	/**
-	 * Resolves (creates the classpath entries for) the classpath container with
-	 * the given runtime and the given classpath container id (returned from
-	 * getClasspathEntryIds()). If the classpath container cannot be resolved
-	 * (for instance, if the runtime does not exist), return null.
-	 * 
-	 * @param project the project to resolve
-	 * @param runtime the runtime to resolve the container for
-	 * @return an array of classpath entries for the container, or null if the
-	 *   container could not be resolved
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
-		return null;
-	}
-
-	/**
-	 * Resolve the classpath container.
-	 * 
-	 * @param runtime a runtime
-	 * @return a possibly empty array of classpath entries
-	 * @deprecated should use resolveClasspathContainerImpl(IProject, IRuntime) instead
-	 */
-	public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime) {
-		return resolveClasspathContainerImpl(null, runtime);
-	}
-
-	/**
-	 * Resolve the classpath container.
-	 * 
-	 * @param project a project
-	 * @param runtime a runtime
-	 * @return a possibly empty array of classpath entries
-	 */
-	public IClasspathEntry[] resolveClasspathContainerImpl(IProject project, IRuntime runtime) {
-		if (runtime == null)
-			return new IClasspathEntry[0];
-		runtimePathMap.put(runtime.getId(), runtime.getLocation());
-		IClasspathEntry[] entries = resolveClasspathContainer(project, runtime);
-		if (entries == null)
-			entries = resolveClasspathContainer(runtime);
-		
-		if (entries == null)
-			entries = new IClasspathEntry[0];
-		
-		if (sourceAttachments == null)
-			load();
-		
-		int size = entries.length;
-		int size2 = sourceAttachments.size();
-		for (int i = 0; i < size; i++) {
-			for (int j = 0; j < size2; j++) {
-				SourceAttachmentUpdate sau = (SourceAttachmentUpdate) sourceAttachments.get(j);
-				if (sau.runtimeId.equals(runtime.getId()) && sau.entry.equals(entries[i].getPath())) {
-					entries[i] = JavaCore.newLibraryEntry(entries[i].getPath(), sau.sourceAttachmentPath, sau.sourceAttachmentRootPath, new IAccessRule[0], sau.attributes, false);
-				}
-			}
-		}
-		
-		String key = project.getName() + "/" + runtime.getId();
-		if (!previousClasspath.containsKey(key))
-			previousClasspath.put(key, entries);
-		else {
-			IClasspathEntry[] previousEntries = (IClasspathEntry[]) previousClasspath.get(key);
-			
-			if ((previousEntries == null && entries != null) || (previousEntries != null && entries == null)
-					|| (previousEntries != null && entries != null && previousEntries.length != entries.length)) {
-				Trace.trace(Trace.FINEST, "Classpath update: " + key + " " + entries);
-				previousClasspath.put(key, entries);
-				
-				IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER);
-				path = path.append(extensionId).append(runtime.getId());
-				try {
-					IJavaProject javaProject = JavaCore.create(project);
-					JavaCore.setClasspathContainer(path, new IJavaProject[] { javaProject },
-							new IClasspathContainer[] { null }, new NullProgressMonitor());
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Error updating classpath", e);
-				}
-			}
-		}
-		
-		return entries;
-	}
-
-	/*
-	 * Returns true if there are any changes in the runtime since the last time that the
-	 * classpath was resolved which may affect the classpath, and false otherwise. This
-	 * method is used to check projects when a runtime changes and automatically rebuild
-	 * them if necessary.
-	 * 
-	 * @param runtime a runtime
-	 * @return <code>true</code> if the classpath may change due to a change in the runtime,
-	 *    and <code>false</code> if there are no changes
-	 */
-	public boolean hasRuntimeClasspathChanged(IRuntime runtime) {
-		try {
-			IPath path = (IPath) runtimePathMap.get(runtime.getId());
-			return (path != null && !path.equals(runtime.getLocation()));
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
-
-	private static void addJarFiles(File dir, List list, boolean includeSubdirectories) {
-		int depth = 0;
-		if (includeSubdirectories)
-			depth = 2;
-		addJarFiles(dir, list, depth);
-	}
-
-	private static void addJarFiles(File dir, List list, int depth) {
-		if (dir == null)
-			throw new IllegalArgumentException();
-		
-		File[] files = dir.listFiles();
-		if (files != null) {
-			int size = files.length;
-			for (int i = 0; i < size; i++) {
-				if (files[i].isDirectory() && depth > 0) {
-					addJarFiles(files[i], list, depth - 1);
-				} else if (files[i].getAbsolutePath().endsWith(".jar") || files[i].getAbsolutePath().endsWith(".zip")) {
-					IPath path = new Path(files[i].getAbsolutePath());
-					list.add(JavaCore.newLibraryEntry(path, null, null));
-				}
-			}
-		}
-	}
-
-	/**
-	 * Add library entries to the given list for every jar file found in the
-	 * given directory. Optionally search subdirectories as well.
-	 * 
-	 * @param list a list
-	 * @param dir a directory
-	 * @param includeSubdirectories <code>true</code> to include subdirectories, and
-	 *    <code>false</code> otherwise
-	 */
-	protected static void addLibraryEntries(List list, File dir, boolean includeSubdirectories) {
-		if (dir == null)
-			throw new IllegalArgumentException();
-		addJarFiles(dir, list, includeSubdirectories);
-	}
-
-	/**
-	 * Request that the classpath container for the given runtime and id be updated
-	 * with the given classpath container entries.
-	 * 
-	 * @param runtime a runtime
-	 * @param entries an array of classpath entries
-	 */
-	public void requestClasspathContainerUpdate(IRuntime runtime, IClasspathEntry[] entries) {
-		// default behaviour is to save the source path entries
-		if (runtime == null || entries == null)
-			return;
-		
-		// find the source attachments
-		sourceAttachments = new ArrayList();
-		
-		int size = entries.length;
-		for (int i = 0; i < size; i++) {
-			if (entries[i].getSourceAttachmentPath() != null || entries[i].getExtraAttributes() != null) {
-				SourceAttachmentUpdate sau = new SourceAttachmentUpdate();
-				sau.runtimeId = runtime.getId();
-				sau.entry = entries[i].getPath();
-				sau.sourceAttachmentPath = entries[i].getSourceAttachmentPath();
-				sau.sourceAttachmentRootPath = entries[i].getSourceAttachmentRootPath();
-				sau.attributes = entries[i].getExtraAttributes();
-				sourceAttachments.add(sau);
-			}
-		}
-		save();
-	}
-
-	/**
-	 * Load source attachment info.
-	 */
-	private void load() {
-		sourceAttachments = new ArrayList();
-		
-		String id = extensionId;
-		String filename = JavaServerPlugin.getInstance().getStateLocation().append(id + ".xml").toOSString();
-		if (!(new File(filename)).exists())
-			return;
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(filename);
-			
-			IMemento[] children = memento.getChildren("source-attachment");
-			int size = children.length;
-			
-			for (int i = 0; i < size; i++) {
-				try {
-					SourceAttachmentUpdate sau = new SourceAttachmentUpdate();
-					sau.runtimeId = children[i].getString("runtime-id");
-					String temp = children[i].getString("entry");
-					if (temp != null)
-						sau.entry = new Path(temp);
-					temp = children[i].getString("source-attachment-path");
-					if (temp != null)
-						sau.sourceAttachmentPath = new Path(temp);
-					temp = children[i].getString("source-attachment-root-path");
-					if (temp != null)
-						sau.sourceAttachmentRootPath = new Path(temp);
-					IMemento[] attrChildren = children[i].getChildren("attribute");
-					if (attrChildren != null) {
-						int size2 = attrChildren.length;
-						sau.attributes = new IClasspathAttribute[size2];
-						for (int j = 0; j < size2; j++) {
-							String name = attrChildren[j].getString("name");
-							String value = attrChildren[j].getString("value");
-							sau.attributes[j] = JavaCore.newClasspathAttribute(name, value);
-						}
-					}
-					sourceAttachments.add(sau);
-				} catch (Exception e) {
-					Trace.trace(Trace.WARNING, "Could not load source attachment: " + e);
-				}
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load source path info: " + e.getMessage());
-		}
-	}
-
-	/**
-	 * Save source attachment info.
-	 */
-	private void save() {
-		if (sourceAttachments == null)
-			return;
-		String id = extensionId;
-		String filename = JavaServerPlugin.getInstance().getStateLocation().append(id + ".xml").toOSString();
-		try {
-			XMLMemento memento = XMLMemento.createWriteRoot("classpath");
-
-			Iterator iterator = sourceAttachments.iterator();
-			while (iterator.hasNext()) {
-				SourceAttachmentUpdate sau = (SourceAttachmentUpdate) iterator.next();
-				IMemento child = memento.createChild("source-attachment");
-				child.putString("runtime-id", sau.runtimeId);
-				if (sau.entry != null)
-					child.putString("entry", sau.entry.toPortableString());
-				if (sau.sourceAttachmentPath != null)
-					child.putString("source-attachment-path", sau.sourceAttachmentPath.toPortableString());
-				if (sau.sourceAttachmentRootPath != null)
-					child.putString("source-attachment-root-path", sau.sourceAttachmentRootPath.toPortableString());
-				if (sau.attributes != null) {
-					int size = sau.attributes.length;
-					for (int i = 0; i < size; i++) {
-						IClasspathAttribute attr = sau.attributes[i];
-						IMemento attrChild = child.createChild("attribute");
-						attrChild.putString("name", attr.getName());
-						attrChild.putString("value", attr.getValue());
-					}
-				}
-			}
-			
-			memento.saveToFile(filename);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error saving source path info", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ServerProfilerDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ServerProfilerDelegate.java
deleted file mode 100644
index 86f0dc8..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/ServerProfilerDelegate.java
+++ /dev/null
@@ -1,62 +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.jst.server.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-/**
- * A server profiler delegate.
- * <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 abstract class ServerProfilerDelegate {
-	/**
-	 * Create a new server profiler delegate. This class must have a public default constructor.
-	 */
-	public ServerProfilerDelegate() {
-		// ignore
-	}
-
-	/**
-	 * Processes the Java launch configuration about to be run to support profiling.
-	 * VM args or environment variables can be set to allow profiling.
-	 * 
-	 * @param launch the launch
-	 * @param vmInstall the vm install being run against
-	 * @param vmConfig the configuration to process
-	 * @param monitor a progress monitor
-	 * @throws CoreException if there is a problem during configuration
-	 */
-	public abstract void process(ILaunch launch, IVMInstall vmInstall, VMRunnerConfiguration vmConfig, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Processes the Java launch configuration about to be run to support profiling.
-	 * VM args or environment variables can be set to allow profiling.
-	 * 
-	 * @param launch the launch
-	 * @param vmInstall the vm install being run against
-	 * @param vmConfig the configuration to process
-	 * @param monitor a progress monitor
-	 * @throws CoreException if there are no profilers configured or there is a problem
-	 *   configuring the launch
-	 */
-	public static void configureProfiling(ILaunch launch, IVMInstall vmInstall, VMRunnerConfiguration vmConfig, IProgressMonitor monitor) throws CoreException {
-		JavaServerPlugin.configureProfiling(launch, vmInstall, vmConfig, monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/Servlet.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/Servlet.java
deleted file mode 100644
index b3cc4dc..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/Servlet.java
+++ /dev/null
@@ -1,106 +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.jst.server.core;
-
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-/**
- * A J2EE Servlet.
- * <p>
- * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
- * (repeatedly) as the API evolves.
- * </p>
- * @plannedfor 3.0
- */
-public class Servlet extends ModuleArtifactDelegate {
-	private String className;
-	private String alias;
-	
-	/**
-	 * Create a reference to a servlet.
-	 * 
-	 * @param module the module that the servlet is contained in
-	 * @param className the class name of the servlet
-	 * @param alias the servlet's alias
-	 */
-	public Servlet(IModule module, String className, String alias) {
-		super(module);
-		this.className = className;
-		this.alias = alias;
-	}
-
-	/**
-	 * Create a new empty servlet.
-	 */
-	public Servlet() {
-		super();
-	}
-
-	/**
-	 * Return the class name of the servlet.
-	 * 
-	 * @return the class name of the servlet
-	 */
-	public String getServletClassName() {
-		return className;
-	}
-	
-	/**
-	 * Return the servlet's alias.
-	 * 
-	 * @return the servlet's alias
-	 */
-	public String getAlias() {
-		return alias;
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#getName()
-	 */
-	public String getName() {
-		return NLS.bind(Messages.artifactServlet, className);
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#deserialize(String)
-	 */
-	public void deserialize(String s) {
-		int ind = s.indexOf("//");
-		super.deserialize(s.substring(0, ind));
-		s = s.substring(ind+2);
-		ind = s.indexOf("//");
-		className = s.substring(0, ind);
-		alias = s.substring(ind+2);
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#serialize()
-	 */
-	public String serialize() {
-		StringBuffer sb = new StringBuffer(super.serialize());
-		sb.append("//");
-		sb.append(className);
-		sb.append("//");
-		sb.append(alias);
-		return sb.toString();
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "Servlet [module=" + getModule() + ", class=" + className + ", alias=" + alias + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntime.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntime.java
deleted file mode 100644
index 5cb3cef..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntime.java
+++ /dev/null
@@ -1,112 +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.jst.server.core.internal;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- *
- */
-public class GenericRuntime extends RuntimeDelegate implements IGenericRuntime, IGenericRuntimeWorkingCopy {
-	protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
-	protected static final String PROP_VM_INSTALL_ID = "vm-install-id";
-
-	/**
-	 * Create a new generic runtime.
-	 */
-	public GenericRuntime() {
-		// do nothing
-	}
-
-	protected String getVMInstallTypeId() {
-		return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-
-	protected String getVMInstallId() {
-		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-
-	/**
-	 * Returns <code>true</code> if the runtime is using the default JRE.
-	 * 
-	 * @return <code>true</code> if the runtime is using the default JRE,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean isUsingDefaultJRE() {
-		return getVMInstallTypeId() == null;
-	}
-
-	/**
-	 * @see IGenericRuntime#getVMInstall()
-	 */
-	public IVMInstall getVMInstall() {
-		if (getVMInstallTypeId() == null)
-			return JavaRuntime.getDefaultVMInstall();
-		try {
-			IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId());
-			IVMInstall[] vmInstalls = vmInstallType.getVMInstalls();
-			int size = vmInstalls.length;
-			String id = getVMInstallId();
-			for (int i = 0; i < size; i++) {
-				if (id.equals(vmInstalls[i].getId()))
-					return vmInstalls[i];
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-	
-	/**
-	 * @see RuntimeDelegate#validate()
-	 */
-	public IStatus validate() {
-		IStatus status = super.validate();
-		if (!status.isOK())
-			return status;
-		
-		IRuntime runtime = getRuntime();
-
-		IPath path = runtime.getLocation();
-		if (!path.toFile().exists())
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorLocation, null);
-		else if (getVMInstall() == null)
-			return new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorJRE, null);
-		else
-			return Status.OK_STATUS;
-	}
-
-	/**
-	 * @see IGenericRuntimeWorkingCopy#setVMInstall(IVMInstall)
-	 */
-	public void setVMInstall(IVMInstall vmInstall) {
-		if (vmInstall == null) {
-			setVMInstall(null, null);
-		} else
-			setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-	}
-
-	protected void setVMInstall(String typeId, String id) {
-		if (typeId == null)
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-		
-		if (id == null)
-			setAttribute(PROP_VM_INSTALL_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_ID, id);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
deleted file mode 100644
index c8f5cf9..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
+++ /dev/null
@@ -1,39 +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.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * 
- */
-public class GenericRuntimeClasspathProvider extends RuntimeClasspathProviderDelegate {
-	/** (non-Javadoc)
-	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IProject, IRuntime)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
-		IPath installPath = runtime.getLocation();
-		
-		if (installPath == null)
-			return new IClasspathEntry[0];
-		
-		List list = new ArrayList();
-		addLibraryEntries(list, installPath.toFile(), false);
-		return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java
deleted file mode 100644
index 82dc488..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/GenericRuntimeUtil.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * Utility methods for the generic J2EE runtime.
- */
-public class GenericRuntimeUtil {
-	protected static final String RUNTIME_TYPE_ID = "org.eclipse.jst.server.core.runtimeType";
-
-	/**
-	 * Cannot create GenericRuntimeUtil - use static methods.
-	 */
-	private GenericRuntimeUtil() {
-		// can't create
-	}
-
-	/**
-	 * Returns <code>true</code> if the given runtime is a generic J2EE runtime, and
-	 * <code>false</code> otherwise. The runtime may not be null.
-	 * 
-	 * @param runtime 
-	 * @return <code>true</code> if 
-	 */
-	public static boolean isGenericJ2EERuntime(IRuntime runtime) {
-		if (runtime == null)
-			throw new IllegalArgumentException();
-
-		return (runtime.getRuntimeType() != null &&
-			runtime.getRuntimeType().getId().startsWith(RUNTIME_TYPE_ID));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntime.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntime.java
deleted file mode 100644
index 1c509c4..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntime.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import org.eclipse.jst.server.core.IJavaRuntime;
-/**
- * 
- */
-public interface IGenericRuntime extends IJavaRuntime {
-	// no additional methods
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
deleted file mode 100644
index 0133c5c..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IGenericRuntimeWorkingCopy.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import org.eclipse.jdt.launching.IVMInstall;
-/**
- * 
- */
-public interface IGenericRuntimeWorkingCopy extends IGenericRuntime {
-	/**
-	 * Set the VM install (installed JRE) that this runtime is using.
-	 * Use <code>null</code> to use the Eclipse default JRE.
-	 * 
-	 * @param vmInstall the VM install to use
-	 */
-	public void setVMInstall(IVMInstall vmInstall);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IMemento.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IMemento.java
deleted file mode 100644
index 820e0a6..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/IMemento.java
+++ /dev/null
@@ -1,194 +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.jst.server.core.internal;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-	
-	/**
-	 * Returns the floating point value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not a floating point number
-	 */
-	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
-
-	/**
-	 * Returns the integer value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not an integer
-	 */
-	public Integer getInteger(String key);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Returns the boolean value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not a boolean
-	 */
-	public Boolean getBoolean(String key);
-	
-	/**
-	 * Return the list of names.
-	 * 
-	 * @return a possibly empty list of names
-	 */
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java
deleted file mode 100644
index 4f18292..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EELaunchableClient.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.jst.server.core.JndiLaunchable;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.ClientDelegate;
-/**
- *
- */
-public class J2EELaunchableClient extends ClientDelegate {
-	/*
-	 * @see ClientDelegate#supports(ILaunchable)
-	 */
-	public boolean supports(IServer server, Object launchable, String launchMode) {
-		return (launchable instanceof JndiLaunchable);
-	}
-
-	/*
-	 * @see ClientDelegate#launch(ILaunchable)
-	 */
-	public IStatus launch(IServer server, Object launchable, String launchMode, ILaunch launch) {
-		Trace.trace(Trace.FINEST, "JNDI client launched");
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java
deleted file mode 100644
index 25d7de0..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/J2EEUtil.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.core.IJ2EEModule;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * Utility class for dealing with J2EE modules.
- */
-public class J2EEUtil {
-	private static final String EAR_MODULE = "jst.ear";
-	private static final String WEB_MODULE = "jst.web";
-
-	/**
-	 * Returns the enterprise applications that the module is contained within.
-	 * 
-	 * @param module a J2EE module
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly empty array of enterprise applications
-	 */
-	public static IModule[] getEnterpriseApplications(IJ2EEModule module, IProgressMonitor monitor) {
-		List list = new ArrayList();
-		IModule[] modules = ServerUtil.getModules(EAR_MODULE);
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				IModule module2 = modules[i];
-				IEnterpriseApplication ear = (IEnterpriseApplication) module2.loadAdapter(IEnterpriseApplication.class, monitor);
-				if (ear != null) {
-					IModule[] modules2 = ear.getModules();
-					if (modules2 != null) {
-						int size2 = modules2.length;
-						for (int j = 0; j < size2; j++) {
-							if (module.equals(modules2[j].loadAdapter(IJ2EEModule.class, monitor)))
-								list.add(module2);
-						}
-					}
-				}
-			}
-		}
-		
-		IModule[] ears = new IModule[list.size()];
-		list.toArray(ears);
-		return ears;
-	}
-
-	/**
-	 * Returns the enterprise applications that the module is contained within.
-	 * 
-	 * @param module a J2EE module or utility module
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly empty array of enterprise applications
-	 */
-	public static IModule[] getEnterpriseApplications(IModule module, IProgressMonitor monitor) {
-		List list = new ArrayList();
-		IModule[] modules = ServerUtil.getModules(EAR_MODULE);
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				IModule module2 = modules[i];
-				IEnterpriseApplication ear = (IEnterpriseApplication) module2.loadAdapter(IEnterpriseApplication.class, monitor);
-				if (ear != null) {
-					IModule[] modules2 = ear.getModules();
-					if (modules2 != null) {
-						int size2 = modules2.length;
-						for (int j = 0; j < size2; j++) {
-							if (module.equals(modules2[j]))
-								list.add(module2);
-						}
-					}
-				}
-			}
-		}
-		
-		IModule[] ears = new IModule[list.size()];
-		list.toArray(ears);
-		return ears;
-	}
-
-	/**
-	 * Returns the web modules that the utility module is contained within.
-	 * 
-	 * @param module a utility module
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @return a possibly empty array of web modules
-	 */
-	public static IModule[] getWebModules(IModule module, IProgressMonitor monitor) {
-		List list = new ArrayList();
-		IModule[] modules = ServerUtil.getModules(WEB_MODULE);
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				IModule module2 = modules[i];
-				IWebModule web = (IWebModule) module2.loadAdapter(IWebModule.class, monitor);
-				if (web != null) {
-					IModule[] modules2 = web.getModules();
-					if (modules2 != null) {
-						int size2 = modules2.length;
-						for (int j = 0; j < size2; j++) {
-							if (module.equals(modules2[j]))
-								list.add(module2);
-						}
-					}
-				}
-			}
-		}
-		
-		IModule[] webs = new IModule[list.size()];
-		list.toArray(webs);
-		return webs;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java
deleted file mode 100644
index 4394b4d..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JRERuntimeComponentProvider.java
+++ /dev/null
@@ -1,129 +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.jst.server.core.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstall2;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IJavaRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.internal.Runtime;
-
-public class JRERuntimeComponentProvider extends RuntimeComponentProviderDelegate {
-	public static final String CLASSPATH = "classpath";
-
-	private Map vmCache = new HashMap();
-
-	class VMInstallCache {
-		// cached attributes
-		IVMInstall vmInstall;
-		String jvmver;
-		
-		// caching validation
-		int timestamp;
-		File location;
-	}
-
-	public List getRuntimeComponents(IRuntime runtime) {
-		// define JRE component
-		IJavaRuntime javaRuntime = (IJavaRuntime) runtime.loadAdapter(IJavaRuntime.class, null);
-		if (javaRuntime != null) {
-			VMInstallCache cache = (VMInstallCache) vmCache.get(runtime.getId());
-			if (cache != null) {
-				if (cache.timestamp != ((Runtime) runtime).getTimestamp())
-					cache = null;
-				if (cache != null && cache.location != null && cache.vmInstall != null && !cache.location.equals(cache.vmInstall.getInstallLocation()))
-					cache = null;
-			}
-			
-			if (cache == null) {
-				cache = new VMInstallCache();
-				cache.timestamp = ((Runtime) runtime).getTimestamp();
-				cache.vmInstall = javaRuntime.getVMInstall();
-				
-				if (cache.vmInstall != null) {
-					if (cache.vmInstall instanceof IVMInstall2) {
-						IVMInstall2 vmInstall2 = (IVMInstall2) cache.vmInstall;
-						if (vmInstall2 != null)
-							cache.jvmver = vmInstall2.getJavaVersion();
-					}
-					cache.location = cache.vmInstall.getInstallLocation();
-				}
-				vmCache.put(runtime.getId(), cache);
-			}
-			
-			IVMInstall vmInstall = cache.vmInstall;
-			String jvmver = cache.jvmver;
-			
-			String vmInstallName;
-			if (vmInstall != null)
-				vmInstallName = vmInstall.getName();
-			else
-				vmInstallName = "Unknown";
-			
-			IRuntimeComponentVersion rcv = null;
-			if (vmInstall == null) {
-				// JRE couldn't be found - assume 6.0 for now
-				rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
-			} else if (jvmver == null) {
-				Trace.trace(Trace.WARNING, "Could not determine VM version for: " + vmInstallName);
-				rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
-			} else if (jvmver.startsWith("1.3"))
-				rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.3");
-			else if (jvmver.startsWith("1.4"))
-				rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("1.4");
-			else if (jvmver.startsWith("1.5") || jvmver.startsWith("5.0"))
-				rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("5.0");
-			else if (jvmver.startsWith("1.6") || jvmver.startsWith("6.0"))
-				rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
-			else {
-				Trace.trace(Trace.WARNING, "Invalid Java version: " + vmInstallName + ", " + jvmver);
-				rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
-			}
-			
-			if (rcv != null) {
-				Map properties = new HashMap(3);
-				String name = "-";
-				if (vmInstallName != null)
-					name = vmInstallName;
-				properties.put("name", name);
-				
-				StringBuffer buf = new StringBuffer();
-				buf.append("JRE ");
-				buf.append(rcv.getVersionString());
-				buf.append(": ");
-				buf.append(name);
-				properties.put("type", buf.toString());
-				
-				if (vmInstall == null) {
-					// no classpath
-				} else if (vmInstall == null || javaRuntime.isUsingDefaultJRE())
-					properties.put(CLASSPATH, new Path(JavaRuntime.JRE_CONTAINER).toPortableString());
-				else
-					properties.put(CLASSPATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
-				
-				List list = new ArrayList();
-				list.add(RuntimeManager.createRuntimeComponent(rcv, properties));
-				return list;
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
deleted file mode 100644
index 958de35..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
+++ /dev/null
@@ -1,366 +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.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeLifecycleListener;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.osgi.framework.BundleContext;
-/**
- * The main server tooling plugin class.
- */
-public class JavaServerPlugin extends Plugin {
-	/**
-	 * Java server plugin id
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.core";
-
-	// singleton instance of this class
-	private static JavaServerPlugin singleton;
-
-	//	cached copy of all runtime classpath providers
-	private static List runtimeClasspathProviders;
-
-	// cached copy of all server profilers
-	private static List serverProfilers;
-	
-	// runtime listener
-	private static IRuntimeLifecycleListener runtimeListener;
-
-	/**
-	 * Create the JavaServerPlugin.
-	 */
-	public JavaServerPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return a singleton instance
-	 */
-	public static JavaServerPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * @see Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		runtimeListener = new IRuntimeLifecycleListener() {
-			public void runtimeAdded(IRuntime runtime) {
-				handleRuntimeChange(runtime, 0);
-			}
-
-			public void runtimeChanged(IRuntime runtime) {
-				handleRuntimeChange(runtime, 1);
-			}
-
-			public void runtimeRemoved(IRuntime runtime) {
-				handleRuntimeChange(runtime, 2);
-			}
-		};
-		
-		ServerCore.addRuntimeLifecycleListener(runtimeListener);
-	}
-
-	/**
-	 * @see Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context2) throws Exception {
-		ServerCore.removeRuntimeLifecycleListener(runtimeListener);
-		super.stop(context2);
-	}
-
-	/**
-	 * Handle a runtime change by potentially updating the classpath container.
-	 * 
-	 * @param runtime a runtime
-	 */
-	protected void handleRuntimeChange(final IRuntime runtime, final int act) {
-		if (runtime == null)
-			throw new IllegalArgumentException();
-		
-		Trace.trace(Trace.FINEST, "Possible runtime change: " + runtime);
-		
-		if (runtime.getRuntimeType() == null)
-			return;
-		
-		final RuntimeClasspathProviderWrapper rcpw = findRuntimeClasspathProvider(runtime.getRuntimeType());
-		if (rcpw != null && (rcpw.hasRuntimeClasspathChanged(runtime) || act != 1)) {
-			final IPath serverContainerPath = new Path(RuntimeClasspathContainer.SERVER_CONTAINER)
-				.append(rcpw.getId()).append(runtime.getId());
-			
-			class RebuildRuntimeReferencesJob extends Job {
-				public RebuildRuntimeReferencesJob() {
-					super(NLS.bind(Messages.updateClasspathContainers, runtime.getName()));
-				}
-
-				public boolean belongsTo(Object family) {
-					return ServerUtil.SERVER_JOB_FAMILY.equals(family);
-				}
-
-				public IStatus run(IProgressMonitor monitor) {
-					IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-					if (projects != null) {
-						int size = projects.length;
-						for (int i = 0; i < size; i++) {
-							if (projects[i].isAccessible()) {
-								try {
-									if (!projects[i].isNatureEnabled(JavaCore.NATURE_ID))
-										continue;
-									
-									IJavaProject javaProject = JavaCore.create(projects[i]);
-									
-									boolean found = false;
-									IClasspathEntry[] ce = javaProject.getRawClasspath();
-									for (int j = 0; j < ce.length; j++) {
-										if (ce[j].getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-											if (serverContainerPath.isPrefixOf(ce[j].getPath()))
-												found = true;
-										}
-									}
-									
-									Trace.trace(Trace.FINEST, "Classpath change on: " + projects[i] + " " + found);
-									
-									if (found) {
-										IRuntime runtime2 = runtime;
-										if (act == 2)
-											runtime2 = null;
-										RuntimeClasspathContainer container = new RuntimeClasspathContainer(projects[i],
-												serverContainerPath, rcpw, runtime2, runtime.getId());
-										JavaCore.setClasspathContainer(serverContainerPath, new IJavaProject[] { javaProject },
-												new IClasspathContainer[] {container}, null);
-									}
-								} catch (Exception e) {
-									Trace.trace(Trace.SEVERE, "Could not update classpath container", e);
-								}
-							}
-						}
-					}
-					
-					return Status.OK_STATUS;
-				}
-			}
-			RebuildRuntimeReferencesJob job = new RebuildRuntimeReferencesJob();
-			job.schedule();
-		}
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status a status
-	 */
-	private static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	public static void logWarning(String msg) {
-		log(new Status(IStatus.WARNING, PLUGIN_ID, IStatus.OK, msg, null));
-	}
-
-	/**
-	 * Returns an array of all known runtime classpath provider 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 classpath provider instances
-	 *         {@link RuntimeClasspathProviderWrapper}
-	 */
-	public static RuntimeClasspathProviderWrapper[] getRuntimeClasspathProviders() {
-		if (runtimeClasspathProviders == null)
-			loadRuntimeClasspathProviders();
-		
-		RuntimeClasspathProviderWrapper[] rth = new RuntimeClasspathProviderWrapper[runtimeClasspathProviders.size()];
-		runtimeClasspathProviders.toArray(rth);
-		return rth;
-	}
-
-	/**
-	 * Returns the runtime classpath provider that supports the given runtime type, or <code>null</code>
-	 * if none. This convenience method searches the list of known runtime
-	 * classpath providers ({@link #getRuntimeClasspathProviders()}) for the one with
-	 * a matching runtime type.
-	 * The runtimeType may not be null.
-	 *
-	 * @param runtimeType a runtime type
-	 * @return the runtime classpath provider instance, or <code>null</code> if
-	 *   there is no runtime classpath provider that supports the given id
-	 */
-	public static RuntimeClasspathProviderWrapper findRuntimeClasspathProvider(IRuntimeType runtimeType) {
-		if (runtimeType == null)
-			throw new IllegalArgumentException();
-
-		if (runtimeClasspathProviders == null)
-			loadRuntimeClasspathProviders();
-		
-		Iterator iterator = runtimeClasspathProviders.iterator();
-		while (iterator.hasNext()) {
-			RuntimeClasspathProviderWrapper runtimeClasspathProvider = (RuntimeClasspathProviderWrapper) iterator.next();
-			if (runtimeClasspathProvider.supportsRuntimeType(runtimeType))
-				return runtimeClasspathProvider;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the runtime classpath provider that supports the given runtime type id,
-	 * or <code>null</code> if none. This convenience method searches the list of known
-	 * runtime classpath providers ({@link #getRuntimeClasspathProviders()}) for the one
-	 * with a matching runtime type id. The id may not be null.
-	 *
-	 * @param id a runtime type id
-	 * @return the runtime classpath provider instance, or <code>null</code> if
-	 *   there is no runtime classpath provider that supports the given id
-	 */
-	public static RuntimeClasspathProviderWrapper findRuntimeClasspathProviderBySupport(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		
-		if (runtimeClasspathProviders == null)
-			loadRuntimeClasspathProviders();
-		
-		Iterator iterator = runtimeClasspathProviders.iterator();
-		while (iterator.hasNext()) {
-			RuntimeClasspathProviderWrapper runtimeClasspathProvider = (RuntimeClasspathProviderWrapper) iterator.next();
-			if (runtimeClasspathProvider.supportsRuntimeType(id))
-				return runtimeClasspathProvider;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the runtime classpath provider with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known runtime
-	 * classpath providers ({@link #getRuntimeClasspathProviders()}) for the one with
-	 * a matching runtime classpath provider id ({@link RuntimeClasspathProviderWrapper#getId()}).
-	 * The id may not be null.
-	 *
-	 * @param id the runtime classpath provider id
-	 * @return the runtime classpath provider instance, or <code>null</code> if
-	 *   there is no runtime classpath provider with the given id
-	 */
-	public static RuntimeClasspathProviderWrapper findRuntimeClasspathProvider(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		
-		if (runtimeClasspathProviders == null)
-			loadRuntimeClasspathProviders();
-		
-		Iterator iterator = runtimeClasspathProviders.iterator();
-		while (iterator.hasNext()) {
-			RuntimeClasspathProviderWrapper runtimeClasspathProvider = (RuntimeClasspathProviderWrapper) iterator.next();
-			if (id.equals(runtimeClasspathProvider.getId()))
-				return runtimeClasspathProvider;
-		}
-		return null;
-	}
-
-	/**
-	 * Load the runtime classpath providers.
-	 */
-	private static synchronized void loadRuntimeClasspathProviders() {
-		if (runtimeClasspathProviders != null)
-			return;
-		Trace.trace(Trace.CONFIG, "->- Loading .runtimeClasspathProviders extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(JavaServerPlugin.PLUGIN_ID, "runtimeClasspathProviders");
-		
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new RuntimeClasspathProviderWrapper(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded runtimeClasspathProviders: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load runtimeClasspathProviders: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		runtimeClasspathProviders = list;
-		
-		Trace.trace(Trace.CONFIG, "-<- Done loading .runtimeClasspathProviders extension point -<-");
-	}
-
-	/**
-	 * Returns an array of all known server profiler 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 profiler instances
-	 *    {@link ServerProfiler}
-	 */
-	public static ServerProfiler[] getServerProfilers() {
-		if (serverProfilers == null)
-			loadServerProfilers();
-		
-		ServerProfiler[] sp = new ServerProfiler[serverProfilers.size()];
-		serverProfilers.toArray(sp);
-		return sp;
-	}
-
-	/**
-	 * Load the server profilers.
-	 */
-	private static synchronized void loadServerProfilers() {
-		if (serverProfilers != null)
-			return;
-		Trace.trace(Trace.CONFIG, "->- Loading .serverProfilers extension point ->-");
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(JavaServerPlugin.PLUGIN_ID, "serverProfilers");
-		
-		int size = cf.length;
-		List list = new ArrayList(size);
-		for (int i = 0; i < size; i++) {
-			try {
-				list.add(new ServerProfiler(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded serverProfiler: " + cf[i].getAttribute("id"));
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "  Could not load serverProfiler: " + cf[i].getAttribute("id"), t);
-			}
-		}
-		serverProfilers = list;
-		
-		Trace.trace(Trace.CONFIG, "-<- Done loading .serverProfilers extension point -<-");
-	}
-
-	public static void configureProfiling(ILaunch launch, IVMInstall vmInstall, VMRunnerConfiguration vmConfig, IProgressMonitor monitor) throws CoreException {
-		ServerProfiler[] sp = JavaServerPlugin.getServerProfilers();
-		if (sp == null || sp.length == 0)
-			throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, Messages.errorNoProfiler, null));
-		
-		sp[0].process(launch, vmInstall, vmConfig, monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
deleted file mode 100644
index 6b94bbe..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/LaunchConfigurationUtil.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-/**
- * 
- */
-public class LaunchConfigurationUtil {
-	/**
-	 * Gets the classpath from the launch configuration of the given server.
-	 * If create is false, it will return null if there is no launch configuration
-	 * (i.e. the server has not been run before) If create is true, it will create
-	 * a launch configuration if one does not exist.
-	 *
-	 * @param server
-	 * @param create
-	 * @param monitor a progress monitor
-	 * @return an array containing runtime classpath entries
-	 * @throws CoreException
-	 */
-	/*public static IRuntimeClasspathEntry[] getClasspath(IServer server, boolean create, IProgressMonitor monitor) throws CoreException {
-		ILaunchConfiguration config = server.getLaunchConfiguration(create, monitor);
-		if (config == null)
-			return null;
-		
-		return JavaRuntime.computeUnresolvedRuntimeClasspath(config);
-	}*/
-
-	/**
-	 * Sets the classpath on the given server's launch configuration.
-	 *
-	 * @param server
-	 * @param classpath
-	 * @throws CoreException
-	 */
-	/*public static void setClasspath(IServer server, IRuntimeClasspathEntry[] classpath, IProgressMonitor monitor) throws CoreException {
-		ILaunchConfiguration config = server.getLaunchConfiguration(true, monitor);
-		ILaunchConfigurationWorkingCopy wc = config.getWorkingCopy();
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-	
-		List mementos = new ArrayList(classpath.length);
-		for (int i = 0; i < classpath.length; i++) {
-			IRuntimeClasspathEntry entry = classpath[i];
-			mementos.add(entry.getMemento());
-		}
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, mementos);
-		wc.doSave();
-	}*/
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.java
deleted file mode 100644
index 0bfeeeb..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.java
+++ /dev/null
@@ -1,52 +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.jst.server.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String errorLocation;
-	public static String errorJRE;
-	public static String classpathContainerDescription;
-	public static String classpathContainer;
-	public static String classpathContainerUnbound;
-
-	public static String copyingTask;
-	public static String deletingTask;
-	public static String errorCopyingFile;
-	public static String errorCreatingZipFile;
-	public static String errorDelete;
-	public static String errorRename;
-	public static String errorReading;
-	public static String updateClasspathContainers;
-	public static String errorNoRuntime;
-	public static String errorFacet;
-	public static String errorDeleting;
-	public static String errorNotADirectory;
-	public static String errorMkdir;
-
-	public static String artifactServlet;
-	public static String artifactEJB;
-	public static String artifactJNDI;
-	public static String artifactCactusTest;
-
-	public static String canModifyModules;
-	public static String errorNoProfiler;
-	public static String errorPublish;
-	public static String httpPort;
-	public static String errorPortInUse;
-
-	static {
-		NLS.initializeMessages(JavaServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.properties b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.properties
deleted file mode 100644
index 76c6ce4..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Messages.properties
+++ /dev/null
@@ -1,44 +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
-###############################################################################
-
-classpathContainerDescription=Server Library
-classpathContainer={0} [{1}]
-classpathContainerUnbound={0} [{1}] (unbound)
-
-errorLocation=Invalid location.
-errorJRE=Invalid JRE.
-
-copyingTask=Copying from {0} to {1}
-deletingTask=Deleting {0}
-errorCopyingFile=Error copying file {0}: {1}
-errorCreatingZipFile=Error creating zip file {0}: {1}
-errorDelete=Could not delete previous copy, which may be locked by another process.
-errorRename=Could not replace with temp file {0}.
-errorReading=Error reading file {0}
-errorNoRuntime=Cannot verify facets because there is no runtime associated with the server.
-errorFacet=Project facet {0} version {1} is not supported.
-errorDeleting=Could not delete {0}. May be locked by another process.
-errorNotADirectory=Could not delete {0} since it is not a directory.
-errorMkdir=Could not create directory {0}.
-
-updateClasspathContainers=Updating classpath container for {0}
-
-artifactServlet=Servlet {0}
-artifactEJB=EJB {0}
-artifactJNDI=JNDI {0}
-artifactCactusTest=Cactus test {0}
-
-canModifyModules=Web module can be added to the server.
-errorNoProfiler=Could not launch in profiling mode because no profilers are configured.
-errorPublish=An error occured during publishing.
-httpPort=HTTP Port
-errorPortInUse=Port {0} required by {1} is already in use. The server may already be running in another process, or a system process may be using the port. \
-  To start this server you will need to stop the other process or change the port number(s).
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ProgressUtil.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ProgressUtil.java
deleted file mode 100644
index 55bbe1c..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/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.jst.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 org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks a number of ticks
-	 * @param style a style
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks, style);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
deleted file mode 100644
index 1e409b7..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
+++ /dev/null
@@ -1,135 +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.jst.server.core.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.osgi.util.NLS;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-/**
- * 
- */
-public class RuntimeClasspathContainer implements IClasspathContainer {
-	/**
-	 * The server container id.
-	 */
-	public static final String SERVER_CONTAINER = JavaServerPlugin.PLUGIN_ID + ".container";
-
-	private IPath path;
-	private RuntimeClasspathProviderWrapper delegate;
-	private IRuntime runtime;
-	private String runtimeId;
-	private IProject project;
-
-	/**
-	 * Create a new runtime classpath container.
-	 * 
-	 * @param path
-	 * @param delegate
-	 * @param runtime
-	 * @deprecated should use the constructor that accepts a project
-	 */
-	public RuntimeClasspathContainer(IPath path, RuntimeClasspathProviderWrapper delegate, IRuntime runtime) {
-		this.path = path;
-		this.delegate = delegate;
-		this.runtime = runtime;
-	}
-
-	/**
-	 * Create a new runtime classpath container.
-	 * 
-	 * @param project
-	 * @param path
-	 * @param delegate
-	 * @param runtime
-	 * @param runtimeId
-	 */
-	public RuntimeClasspathContainer(IProject project, IPath path, RuntimeClasspathProviderWrapper delegate, IRuntime runtime, String runtimeId) {
-		this.project = project;
-		this.path = path;
-		this.delegate = delegate;
-		this.runtime = runtime;
-		this.runtimeId = runtimeId;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getClasspathEntries()
-	 */
-	public IClasspathEntry[] getClasspathEntries() {
-		IClasspathEntry[] entries = null;
-		if (delegate != null && runtime != null)
-			entries = delegate.resolveClasspathContainerImpl(project, runtime);
-		
-		if (entries == null)
-			return new IClasspathEntry[0];
-		
-		return entries;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getDescription()
-	 */
-	public String getDescription() {
-		if (runtime != null) {
-			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null)
-				return NLS.bind(Messages.classpathContainer, runtimeType.getName(), runtime.getName());
-		}
-		return NLS.bind(Messages.classpathContainerUnbound, Messages.classpathContainerDescription, runtimeId);
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getKind()
-	 */
-	public int getKind() {
-		return IClasspathContainer.K_APPLICATION;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getPath()
-	 */
-	public IPath getPath() {
-		return path;
-	}
-
-	public boolean equals(Object obj) {
-		if (!(obj instanceof RuntimeClasspathContainer))
-			return false;
-		
-		RuntimeClasspathContainer rcc = (RuntimeClasspathContainer) obj;
-		if (delegate != null && !delegate.equals(rcc.delegate))
-			return false;
-		
-		if (runtime == null && rcc.runtime != null)
-			return false;
-		
-		if (runtime != null && !runtime.equals(rcc.runtime))
-			return false;
-		
-		if (runtimeId != null && !runtimeId.equals(rcc.runtimeId))
-			return false;
-		
-		if (project == null && rcc.project != null)
-			return false;
-		
-		if (project != null && !project.equals(rcc.project))
-			return false;
-		
-		if (path != null && !path.equals(rcc.path))
-			return false;
-		
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
deleted file mode 100644
index abf5bcb..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
+++ /dev/null
@@ -1,161 +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.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * 
- */
-public class RuntimeClasspathContainerInitializer extends ClasspathContainerInitializer {
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#initialize(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public void initialize(IPath containerPath, IJavaProject project) throws CoreException {
-		if (containerPath.segmentCount() > 0) {
-			if (containerPath.segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER)) {
-				RuntimeClasspathProviderWrapper delegate = null;
-				IRuntime runtime = null;
-				String runtimeId = null;
-				if (containerPath.segmentCount() > 2) {
-					delegate = JavaServerPlugin.findRuntimeClasspathProvider(containerPath.segment(1));
-					
-					runtimeId = containerPath.segment(2);
-					if (runtimeId != null)
-						runtime = ServerCore.findRuntime(runtimeId);
-				}
-				RuntimeClasspathContainer container = new RuntimeClasspathContainer(project.getProject(), containerPath, delegate, runtime, runtimeId);
-				JavaCore.setClasspathContainer(containerPath, new IJavaProject[] {project}, new IClasspathContainer[] {container}, null);
-			}
-		}
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getDescription(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public String getDescription(IPath containerPath, IJavaProject project) {
-		return Messages.classpathContainerDescription;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#canUpdateClasspathContainer(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) {
-		return true;
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#requestClasspathContainerUpdate(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IClasspathContainer)
-	 */
-	public void requestClasspathContainerUpdate(IPath containerPath, IJavaProject project, IClasspathContainer containerSuggestion) throws CoreException {
-		if (containerPath.segmentCount() > 0) {
-			if (containerPath.segment(0).equals(RuntimeClasspathContainer.SERVER_CONTAINER)) {
-				RuntimeClasspathProviderWrapper delegate = null;
-				IRuntime runtime = null;
-				if (containerPath.segmentCount() > 2) {
-					delegate = JavaServerPlugin.findRuntimeClasspathProvider(containerPath.segment(1));
-					String runtimeId = containerPath.segment(2);
-					if (runtimeId != null)
-						runtime = ServerCore.findRuntime(runtimeId);
-					delegate.requestClasspathContainerUpdate(runtime, containerSuggestion.getClasspathEntries());
-					//JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { project },
-					//		new IClasspathContainer[] { containerSuggestion }, new NullProgressMonitor());
-					updateClasspath(runtime, containerPath, containerSuggestion);
-				}
-			}
-		}
-	}
-
-	public static void updateClasspath(final IRuntime runtime, final IPath containerPath, final IClasspathContainer containerSuggestion) {
-		class UpdateClasspathJob extends Job {
-			public UpdateClasspathJob() {
-				super(NLS.bind(Messages.updateClasspathContainers, runtime.getName()));
-			}
-
-			public boolean belongsTo(Object family) {
-				return ServerUtil.SERVER_JOB_FAMILY.equals(family);
-			}
-
-			public IStatus run(IProgressMonitor monitor) {
-				IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-				List list = new ArrayList();
-				if (projects != null) {
-					int size = projects.length;
-					for (int i = 0; i < size; i++) {
-						if (projects[i].isAccessible()) {
-							try {
-								if (!projects[i].isNatureEnabled(JavaCore.NATURE_ID))
-									continue;
-								
-								IJavaProject javaProject = JavaCore.create(projects[i]);
-								
-								boolean found = false;
-								IClasspathEntry[] ce = javaProject.getRawClasspath();
-								for (int j = 0; j < ce.length; j++) {
-									if (ce[j].getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-										if (containerPath.isPrefixOf(ce[j].getPath()))
-											found = true;
-									}
-								}
-								
-								Trace.trace(Trace.FINEST, "Classpath change on: " + projects[i] + " " + found);
-								
-								if (found)
-									list.add(javaProject);
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Could not update classpath container", e);
-							}
-						}
-					}
-				}
-				
-				int size = list.size();
-				if (size > 0) {
-					IJavaProject[] javaProjects = new IJavaProject[size];
-					list.toArray(javaProjects);
-					IClasspathContainer[] containers = new IClasspathContainer[size];
-					for (int i = 0; i < size; i++)
-						containers[i] = containerSuggestion;
-					
-					try {
-						JavaCore.setClasspathContainer(containerPath, javaProjects, containers, monitor);
-					} catch (JavaModelException jme) {
-						return jme.getStatus();
-					}
-				}
-				
-				return Status.OK_STATUS;
-			}
-		}
-		UpdateClasspathJob job = new UpdateClasspathJob();
-		job.schedule();
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.jdt.core.ClasspathContainerInitializer#getComparisonID(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject)
-	 */
-	public Object getComparisonID(IPath containerPath, IJavaProject project) {
-		if (containerPath == null)
-			return null;
-		
-		return containerPath.toPortableString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
deleted file mode 100644
index 86aafe9..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProvider.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005, 2007 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    IBM Corporation - Support for all server types
- ******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.IClasspathProvider;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-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.IRuntimeComponent;
-/**
- * 
- */
-public class RuntimeClasspathProvider implements IClasspathProvider {
-	private static final IProjectFacet WEB_FACET = ProjectFacetsManager.getProjectFacet("jst.web");
-	private static final IProjectFacet EJB_FACET = ProjectFacetsManager.getProjectFacet("jst.ejb");
-	private static final IProjectFacet EAR_FACET = ProjectFacetsManager.getProjectFacet("jst.ear");
-	private static final IProjectFacet UTILITY_FACET = ProjectFacetsManager.getProjectFacet("jst.utility");
-	private static final IProjectFacet CONNECTOR_FACET = ProjectFacetsManager.getProjectFacet("jst.connector");
-	private static final IProjectFacet APP_CLIENT_FACET = ProjectFacetsManager.getProjectFacet("jst.appclient");
-
-	private IRuntimeComponent rc;
-
-	public RuntimeClasspathProvider(IRuntimeComponent rc) {
-		this.rc = rc;
-	}
-
-	public List getClasspathEntries(IProjectFacetVersion fv) {
-		IProjectFacet pf = fv.getProjectFacet();
-		if (pf == null)
-			return null;
-		
-		if (pf.equals(WEB_FACET) || pf.equals(EJB_FACET) || pf.equals(EAR_FACET) ||
-				pf.equals(UTILITY_FACET) || pf.equals(CONNECTOR_FACET) || pf.equals(APP_CLIENT_FACET)) {
-			String runtimeTypeId = rc.getProperty("type-id");
-			String runtimeId = rc.getProperty("id");
-			if (runtimeTypeId == null || runtimeId == null)
-				return null;
-			RuntimeClasspathProviderWrapper rcpw = JavaServerPlugin.findRuntimeClasspathProviderBySupport(runtimeTypeId);
-			if (rcpw != null) {
-				IPath path = new Path(RuntimeClasspathContainer.SERVER_CONTAINER);
-				path = path.append(rcpw.getId()).append(runtimeId);
-				IClasspathEntry cpentry = JavaCore.newContainerEntry(path);
-				return Collections.singletonList(cpentry);
-			}
-		}
-		
-		return null;
-	}
-
-	public static final class Factory implements IAdapterFactory {
-		private static final Class[] ADAPTER_TYPES = { IClasspathProvider.class };
-
-		public Object getAdapter(Object adaptable, Class adapterType) {
-			IRuntimeComponent rc = (IRuntimeComponent) adaptable;
-			return new RuntimeClasspathProvider(rc);
-		}
-
-		public Class[] getAdapterList() {
-			return ADAPTER_TYPES;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
deleted file mode 100644
index 40f78b9..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
+++ /dev/null
@@ -1,183 +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.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate;
-import org.eclipse.wst.server.core.*;
-/**
- * 
- */
-public class RuntimeClasspathProviderWrapper {
-	private IConfigurationElement element;
-	private RuntimeClasspathProviderDelegate delegate;
-
-	/**
-	 * Create a new runtime target handler.
-	 * 
-	 * @param element a configuration element
-	 */
-	public RuntimeClasspathProviderWrapper(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-	
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * Returns the order.
-	 *
-	 * @return the order
-	 */
-	public int getOrder() {
-		try {
-			String o = element.getAttribute("order");
-			return Integer.parseInt(o);
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-
-	public String[] getRuntimeTypeIds() {
-		try {
-			List list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			Trace.trace(Trace.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;
-		return supportsRuntimeType(runtimeType.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 getServerResources() method.
-	 *
-	 * @param id a runtime type id
-	 * @return boolean
-	 */
-	public boolean supportsRuntimeType(String id) {
-		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.
-	 */
-	public RuntimeClasspathProviderDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (RuntimeClasspathProviderDelegate) element.createExecutableExtension("class");
-				delegate.initialize(getId());
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/*
-	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainerImpl(IProject, IRuntime)
-	 */
-	public IClasspathEntry[] resolveClasspathContainerImpl(IProject project, IRuntime runtime) {
-		if (runtime == null)
-			return null;
-		try {
-			return getDelegate().resolveClasspathContainerImpl(project, runtime);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return null;
-	}
-
-	/*
-	 * @see RuntimeClasspathProviderDelegate#requestClasspathContainerUpdate(IRuntime, IClasspathEntry[])
-	 */
-	public void requestClasspathContainerUpdate(IRuntime runtime, IClasspathEntry[] entries) {
-		if (runtime == null)
-			return;
-		try {
-			getDelegate().requestClasspathContainerUpdate(runtime, entries);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-	}
-
-	/*
-	 * @see RuntimeClasspathProviderDelegate#hasRuntimeClasspathChanged(IRuntime)
-	 */
-	public boolean hasRuntimeClasspathChanged(IRuntime runtime) {
-		if (runtime == null)
-			return false;
-		try {
-			return getDelegate().hasRuntimeClasspathChanged(runtime);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return false;
-	}
-
-	public String toString() {
-		return "RuntimeClasspathProviderWrapper[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
deleted file mode 100644
index 968e4dd..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
+++ /dev/null
@@ -1,33 +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.jst.server.core.internal;
-
-import org.eclipse.wst.server.core.internal.facets.RuntimeFacetComponentProviderDelegate;
-/**
- * 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 RuntimeComponentProviderDelegate extends RuntimeFacetComponentProviderDelegate {
-	// nothing added
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
deleted file mode 100644
index dc10d05..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
+++ /dev/null
@@ -1,128 +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.jst.server.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-/**
- * 
- */
-public class RuntimeComponentProviderWrapper {
-	private IConfigurationElement element;
-	private RuntimeComponentProviderDelegate 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 list = new ArrayList();
-			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
-			while (st.hasMoreTokens()) {
-				String str = st.nextToken();
-				if (str != null && str.length() > 0)
-					list.add(str.trim());
-			}
-			String[] s = new String[list.size()];
-			list.toArray(s);
-			return s;
-		} catch (Exception e) {
-			Trace.trace(Trace.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 RuntimeComponentProviderDelegate getDelegate() {
-		if (delegate == null) {
-			try {
-				delegate = (RuntimeComponentProviderDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/*
-	 * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
-	 */
-	public List getComponents(IRuntime runtime) {
-		if (runtime == null)
-			return null;
-		try {
-			return getDelegate().getRuntimeComponents(runtime);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return null;
-	}
-
-	public String toString() {
-		return "RuntimeComponentProviderWrapper[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.java
deleted file mode 100644
index ea829a8..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/RuntimeFacetMapping.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.jst.server.core.internal;
-
-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.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java
deleted file mode 100644
index e9f1ecc..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/ServerProfiler.java
+++ /dev/null
@@ -1,89 +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.jst.server.core.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.eclipse.jst.server.core.ServerProfilerDelegate;
-/**
- * 
- */
-public class ServerProfiler {
-	private IConfigurationElement element;
-	private ServerProfilerDelegate delegate;
-
-	/**
-	 * Create a new server profiler.
-	 * 
-	 * @param element a configuration element
-	 */
-	public ServerProfiler(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-	/**
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * 
-	 * @return the name
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	/*
-	 * Loads the delegate class.
-	 */
-	protected ServerProfilerDelegate getDelegate() {
-		if (delegate == null) {
-			if (element.getAttribute("class") == null)
-				return null;
-			try {
-				delegate = (ServerProfilerDelegate) element.createExecutableExtension("class");
-			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
-			}
-		}
-		return delegate;
-	}
-
-	/**
-	 * @deprecated Switch to new API via TODO
-	 * @return the VM args
-	 */
-	public String getVMArgs() {
-		return null;
-	}
-
-	public void process(ILaunch launch, IVMInstall vmInstall, VMRunnerConfiguration vmConfig, IProgressMonitor monitor) {
-		try {
-			ServerProfilerDelegate del = getDelegate();
-			if (del != null)
-				del.process(launch, vmInstall, vmConfig, monitor);
-		} catch (Throwable t) {
-			Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
-		}
-	}
-
-	public String toString() {
-		return "ServerProfiler[" + getId() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
deleted file mode 100644
index adb5156..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/StandardJreClasspathProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    IBM Corporation - Cleanup
- ******************************************************************************/
-package org.eclipse.jst.server.core.internal;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.IClasspathProvider;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-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.IRuntimeComponent;
-/**
- * 
- */
-public final class StandardJreClasspathProvider implements IClasspathProvider {
-	private static final IProjectFacet JAVA_FACET = ProjectFacetsManager.getProjectFacet("jst.java");
-
-	private IRuntimeComponent rc;
-
-	public StandardJreClasspathProvider(IRuntimeComponent rc) {
-		this.rc = rc;
-	}
-
-	public List getClasspathEntries(IProjectFacetVersion fv) {
-		if (fv.getProjectFacet() == JAVA_FACET) {
-			String s = rc.getProperty(JRERuntimeComponentProvider.CLASSPATH);
-			if (s == null || s.length() == 0)
-				return null;
-			
-			IClasspathEntry cpentry = JavaCore.newContainerEntry(new Path(s));
-			return Collections.singletonList(cpentry);
-		}
-		
-		return null;
-	}
-
-	public static final class Factory implements IAdapterFactory {
-		private static final Class[] ADAPTER_TYPES = { IClasspathProvider.class };
-
-		public Object getAdapter(Object adaptable, Class adapterType) {
-			IRuntimeComponent rc = (IRuntimeComponent) adaptable;
-			return new StandardJreClasspathProvider(rc);
-		}
-
-		public Class[] getAdapterList() {
-			return ADAPTER_TYPES;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java
deleted file mode 100644
index 1a4cc61..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/Trace.java
+++ /dev/null
@@ -1,74 +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.jst.server.core.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Config tracing
-	 */
-	public static final byte CONFIG = 0;
-	/**
-	 * Warning tracing
-	 */
-	public static final byte WARNING = 1;
-	/**
-	 * Severe tracing
-	 */
-	public static final byte SEVERE = 2;
-	/**
-	 * Finest tracing
-	 */
-	public static final byte FINEST = 3;
-
-	public static final byte PUBLISHING = 4;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 * @param t Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (level == SEVERE)
-			JavaServerPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, s, t));
-		
-		if (!JavaServerPlugin.getInstance().isDebugging())
-			return;
-		
-		System.out.println(JavaServerPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java
deleted file mode 100644
index 3511097..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,400 +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.jst.server.core.internal;
-
-import java.io.*;
-import java.util.*;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-/**
- * A Memento is a class independent container for persistence
- * info.  It is a reflection of 3 storage requirements.
- *
- * 1)   We need the ability to persist an object and restore it.  
- * 2)   The class for an object may be absent.  If so we would 
- *      like to skip the object and keep reading. 
- * 3)   The class for an object may change.  If so the new class 
- *      should be able to read the old persistence info.
- *
- * We could ask the objects to serialize themselves into an 
- * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
- * all of these approaches fail to meet the second requirement.
- *
- * Memento supports binary persistance with a version ID.
- */
-public final class XMLMemento implements IMemento {
-	private Document factory;
-	private Element element;
-
-	/**
-	 * Answer a memento for the document and element.  For simplicity
-	 * you should use createReadRoot and createWriteRoot to create the initial
-	 * mementos on a document.
-	 */
-	private XMLMemento(Document doc, Element el) {
-		factory = doc;
-		element = el;
-	}
-
-	/**
-	 * @see IMemento#createChild(String)
-	 */
-	public IMemento createChild(String type) {
-		Element child = factory.createElement(type);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * @see IMemento#createChild(String, String)
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * Create a Document from a Reader and answer a root memento for reading 
-	 * a document.
-	 */
-	protected static XMLMemento createReadRoot(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param type a type
-	 * @return a memento
-	 */
-	public static XMLMemento createWriteRoot(String type) {
-		Document document;
-		try {
-			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-			Element element = document.createElement(type);
-			document.appendChild(element);
-			return new XMLMemento(document, element);            
-		} catch (ParserConfigurationException e) {
-			throw new Error(e);
-		}
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public IMemento getChild(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-	
-		// Find the first node which is a child of this node.
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					return new XMLMemento(factory, element2);
-			}
-		}
-	
-		// A child was not found.
-		return null;
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public IMemento [] getChildren(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return new IMemento[0];
-	
-		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					list.add(element2);
-			}
-		}
-	
-		// Create a memento for each node.
-		size = list.size();
-		IMemento [] results = new IMemento[size];
-		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
-		}
-		return results;
-	}
-
-	/**
-	 * Return the contents of this memento as a byte array.
-	 *
-	 * @return byte[]
-	 * @throws IOException if anything goes wrong
-	 */
-	public byte[] getContents() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toByteArray();
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return java.io.InputStream
-	 * @throws IOException if anything goes wrong
-	 */
-	public InputStream getInputStream() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return new ByteArrayInputStream(out.toByteArray());
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Integer getInteger(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Integer(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	public List getNames() {
-		NamedNodeMap map = element.getAttributes();
-		int size = map.getLength();
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			Node node = map.item(i);
-			String name = node.getNodeName();
-			list.add(name);
-		}
-		return list;
-	}
-
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 * @return a memento
-	 */
-	public static IMemento loadMemento(String filename) throws IOException {
-		InputStream in = null;
-		try {
-			in = new BufferedInputStream(new FileInputStream(filename));
-			return XMLMemento.createReadRoot(in);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to a Writer.
-	 * 
-	 * @param os an output stream
-	 * @throws IOException if anything goes wrong
-	 */
-	public void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
-			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
-			transformer.transform(source, result);
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Saves the memento to the given file.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 */
-	public void saveToFile(String filename) throws IOException {
-		FileOutputStream w = null;
-		try {
-			w = new FileOutputStream(filename);
-			save(w);
-		} catch (IOException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new IOException(e.getLocalizedMessage());
-		} finally {
-			if (w != null) {
-				try {
-					w.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-	
-	/*
-	 * @see IMemento#getBoolean(String)
-	 */
-	public Boolean getBoolean(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		if ("true".equalsIgnoreCase(strValue))
-			return new Boolean(true);
-		return new Boolean(false);
-	}
-
-	/*
-	 * @see IMemento#putBoolean(String, boolean)
-	 */
-	public void putBoolean(String key, boolean value) {
-		element.setAttribute(key, value ? "true" : "false");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java
deleted file mode 100644
index de2f447..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import java.net.URL;
-/**
- *
- */
-public class CactusLaunchable {
-	private String fProjectname;
-	private String fClassName;
-	private String fTestName;
-	private URL fCactusURL;
-
-	public CactusLaunchable(String projectName, String className, String testName, URL cactusURL) {
-		fProjectname = projectName;
-		fClassName = className;
-		fTestName = testName;
-		fCactusURL = cactusURL;
-	}
-
-	public String getTestClassName() {
-		return fClassName;
-	}
-
-	public String getTestName() {
-		return fTestName;
-	}
-
-	public String getProjectName() {
-		return fProjectname;
-	}
-
-	public URL getCactusURL() {
-		return fCactusURL;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java
deleted file mode 100644
index 028f6fc..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-/**
- *
- */
-public class CactusLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
-		if (moduleArtifact instanceof WebTestableResource) {
-			WebTestableResource resource = (WebTestableResource) moduleArtifact;
-			URL url = ((IURLProvider) server.getAdapter(IURLProvider.class))
-					.getModuleRootURL(resource.getModule());
-			
-			String urlString = url.toString();
-			if (urlString.endsWith("/")) {
-				try {
-					url = new URL(urlString.substring(0, urlString.length() - 1));
-				} catch (MalformedURLException e) {
-					Trace.trace(Trace.SEVERE, "Error getting launchable", e);
-					return null;
-				}
-			}
-			return new CactusLaunchable(resource.getProjectName(),
-					resource.getClassName(), resource.getTestName(), url);
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java
deleted file mode 100644
index 162b341..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/CactusModuleArtifactAdapterDelegate.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.server.core.internal.Trace;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate;
-/**
- *
- */
-public class CactusModuleArtifactAdapterDelegate extends ModuleArtifactAdapterDelegate {
-	private static final String SERVLET_TEST_CASE_TYPE = "org.apache.cactus.ServletTestCase";
-
-	private static final String SUITE_METHOD = "suite";
-
-	private static final String TEST_CLASS_NAME = "junit.framework.Test";
-
-	public IModuleArtifact getModuleArtifact(Object obj) {
-		String methodName = "";
-		if (obj instanceof IMethod) {
-			IMethod method = (IMethod) obj;
-			methodName = method.getElementName();
-			obj = method.getCompilationUnit();
-		}
-		if (obj instanceof IAdaptable) {
-			IResource resource = (IResource) ((IAdaptable) obj).getAdapter(IResource.class);
-			String testClassName = getClassNameForType(resource, SERVLET_TEST_CASE_TYPE);
-			String projectName = resource.getProject().getName();
-			if (testClassName != null) {
-				return new WebTestableResource(getModule(resource.getProject()), false,
-						projectName, testClassName, methodName);
-			}
-		}
-		return null;
-	}
-
-	public static String getClassNameForType(IResource resource, String superType) {
-		if (resource == null)
-			return null;
-		try {
-			IProject project = resource.getProject();
-			IPath path = resource.getFullPath();
-			if (!project.hasNature(JavaCore.NATURE_ID) || path == null)
-				return null;
-
-			IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-			if (!javaProject.isOpen())
-				javaProject.open(new NullProgressMonitor());
-
-			// output location may not be on classpath
-			IPath outputPath = javaProject.getOutputLocation();
-			if (outputPath != null
-					&& "class".equals(path.getFileExtension()) && outputPath.isPrefixOf(path)) { //$NON-NLS-1$
-				int count = outputPath.segmentCount();
-				path = path.removeFirstSegments(count);
-			}
-			
-			// remove initial part of classpath
-			IClasspathEntry[] classPathEntry = javaProject.getResolvedClasspath(true);
-			if (classPathEntry != null) {
-				int size = classPathEntry.length;
-				for (int i = 0; i < size; i++) {
-					IPath classPath = classPathEntry[i].getPath();
-					if (classPath.isPrefixOf(path)) {
-						int count = classPath.segmentCount();
-						path = path.removeFirstSegments(count);
-						i += size;
-					}
-				}
-			}
-			
-			// get java element
-			IJavaElement javaElement = javaProject.findElement(path);
-			IType[] types = getTypes(javaElement);
-			if (types != null) {
-				int size2 = types.length;
-				for (int i = 0; i < size2; i++) {
-					if (hasSuperclass(types[i], superType) || hasSuiteMethod(types[i]))
-						return types[i].getFullyQualifiedName();
-				}
-			}
-			return null;
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Unexpected exception: " + e);
-			return null;
-		}
-	}
-
-	private static boolean hasSuiteMethod(IType type) throws JavaModelException {
-		IMethod[] methods = type.getMethods();
-		int size = methods.length;
-		for (int i = 0; i < size; i++) {
-			IMethod method = methods[i];
-			if (method.getParameterNames().length == 0 && method.getElementName().equals(SUITE_METHOD)) {
-				String returnType = getFullyQualifiedTypeForMangledType(method.getReturnType(), type);
-				if (TEST_CLASS_NAME.equals(returnType)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	private static IType[] getTypes(IJavaElement element) {
-		try {
-			if (element.getElementType() != IJavaElement.COMPILATION_UNIT)
-				return null;
-			return ((ICompilationUnit) element).getAllTypes();
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	public static boolean hasSuperclass(IType type, String superClassName) {
-		try {
-			ITypeHierarchy hierarchy = type.newSupertypeHierarchy(null);
-			IType[] superClasses = hierarchy.getAllSuperclasses(type);
-			int size = superClasses.length;
-			for (int i = 0; i < size; i++) {
-				if (superClassName.equals(superClasses[i].getFullyQualifiedName())) //$NON-NLS-1$
-					return true;
-			}
-			return false;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	protected static IModule getModule(IProject project) {
-		IModule deployable = null;
-		Iterator iterator = Arrays.asList(ServerUtil.getModules("jst.web")).iterator();
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-			if (next instanceof IModule) {
-				deployable = (IModule) next;
-				if (deployable.getProject().equals(project))
-					return deployable;
-			}
-		}
-		return null;
-	}
-
-	private static String getFullyQualifiedTypeForMangledType(String type,
-			IType declaringType) throws JavaModelException {
-		type = Signature.toString(type);
-		return getFullyQualifiedTypeForType(type, declaringType);
-	}
-
-	private static String getFullyQualifiedTypeForType(String type, IType declaringType)
-			throws JavaModelException {
-		String[][] resolvedTypes = declaringType.resolveType(type);
-		// Are there legit cases where this would not be the case? We might need to check
-		// for this and bomb out if the type cannot be unambigiously resolved
-		if (resolvedTypes.length != 1)
-			Trace.trace(Trace.WARNING, "The type cannot be unambigiously resolved. Need to handle this case");
-		String[] resolvedType = resolvedTypes[0];
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < resolvedType.length - 1; i++) {
-			buffer.append(resolvedType[i]);
-			buffer.append('.');
-		}
-
-		buffer.append(resolvedType[resolvedType.length - 1]);
-
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java
deleted file mode 100644
index d73704d..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/ServletTestCasePropertyTester.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jst.server.core.internal.Trace;
-/**
- * 
- */
-public class ServletTestCasePropertyTester extends PropertyTester {
-	public static final String PROPERTY_IS_SERVLET_TEST_CASE = "isServletTestCase";
-	private static final String TEST_SUPERCLASS_NAME = "org.apache.cactus.ServletTestCase";
-
-	public boolean test(Object receiver, String method, Object[] args, Object expectedValue) {
-		IJavaElement javaElement = null;
-		if (receiver instanceof IAdaptable) {
-			javaElement = (IJavaElement) ((IAdaptable) receiver).getAdapter(IJavaElement.class);
-		}
-		if (javaElement != null) {
-			if (!javaElement.exists()) {
-				return false;
-			}
-		}
-		if (javaElement instanceof IJavaProject
-				|| javaElement instanceof IPackageFragmentRoot
-				|| javaElement instanceof IPackageFragment) {
-			return true;
-		}
-		if (javaElement != null) {
-			if (PROPERTY_IS_SERVLET_TEST_CASE.equals(method)) { //$NON-NLS-1$
-				return isServletTestCase(javaElement);
-			}
-		}
-		return false;
-	}
-
-	private boolean isServletTestCase(IJavaElement element) {
-		IType testType = null;
-
-		try {
-			if (element instanceof ICompilationUnit) {
-				ICompilationUnit cu = (ICompilationUnit) element;
-				testType = cu.getType(Signature.getQualifier(cu.getElementName()));
-			} else if (element instanceof IClassFile)
-				testType = ((IClassFile) element).getType();
-			else if (element instanceof IType)
-				testType = (IType) element;
-			else if (element instanceof IMember)
-				testType = ((IMember) element).getDeclaringType();
-			
-			if (testType != null && testType.exists() && isTestOrSuite(testType))
-				return true;
-		} catch (JavaModelException e) {
-			Trace.trace(Trace.SEVERE, "Error checking isServlet", e);
-		}
-		return false;
-	}
-
-	/**
-	 * 
-	 * @param testType
-	 * @return true if the type is a test, false otherwise
-	 */
-	private boolean isTestOrSuite(IType testType) throws JavaModelException {
-		IType[] types = testType.newSupertypeHierarchy(null).getAllSuperclasses(testType);
-		for (int i = 0; i < types.length; i++) {
-			if (types[i].getFullyQualifiedName().equals(TEST_SUPERCLASS_NAME)) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java
deleted file mode 100644
index 9e6873a..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/internal/cactus/WebTestableResource.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.core.internal.cactus;
-
-import org.eclipse.jst.server.core.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
-
-public class WebTestableResource extends ModuleArtifactDelegate {
-	private boolean fServletIsConfigured;
-	private String fClassName;
-	private String fTestName;
-	private String fProjectName;
-
-	public WebTestableResource(IModule module, boolean servletIsConfigured,
-			String projectName, String className, String testName) {
-		super(module);
-		fServletIsConfigured = servletIsConfigured;
-		fClassName = className;
-		fTestName = testName;
-		fProjectName = projectName;
-	}
-
-	public WebTestableResource() {
-		super();
-	}
-
-	public String getProjectName() {
-		return fProjectName;
-	}
-
-	public boolean isServletConfigured() {
-		return fServletIsConfigured;
-	}
-
-	public String getClassName() {
-		return fClassName;
-	}
-
-	public String getTestName() {
-		return fTestName;
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#getName()
-	 */
-	public String getName() {
-		return NLS.bind(Messages.artifactCactusTest, fTestName);
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#deserialize(String)
-	 */
-	public void deserialize(String s) {
-		int ind = s.indexOf("//");
-		super.deserialize(s.substring(0, ind));
-		s = s.substring(ind+2);
-		ind = s.indexOf("//");
-		fProjectName = s.substring(0, ind);
-		
-		s = s.substring(ind+2);
-		ind = s.indexOf("//");
-		fClassName = s.substring(0, ind);
-		
-		if ('T' == s.charAt(ind+2))
-			fServletIsConfigured = true;
-		else
-			fServletIsConfigured = false;
-		fTestName = s.substring(ind+3);
-	}
-
-	/*
-	 * @see ModuleArtifactDelegate#serialize()
-	 */
-	public String serialize() {
-		StringBuffer sb = new StringBuffer(super.serialize());
-		sb.append("//");
-		sb.append(fProjectName);
-		sb.append("//");
-		sb.append(fClassName);
-		sb.append("//");
-		if (fServletIsConfigured)
-			sb.append("T");
-		else
-			sb.append("F");
-		sb.append(fTestName);
-		return sb.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.html b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.html
deleted file mode 100644
index 0dfa3c3..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../..//apistyles.css" type="text/css">
-<title>WTP API overview</title>
-</head>
-<body>
-<table width="500">
-<tr>
-<td>
-<p>Support for Java and J2EE server types.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The ClasspathRuntimeTargetHandler class provides a common subclass
-for runtime target handlers that need to modify a project's classpath
-when a project is targetted to a particular runtime.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>IGenericRuntime and its working copy provide type-specific access
-to the generic runtime type. When using a generic runtime, clients can
-access the type specific information by adapting to these types using
-<pre>IGenericRuntime gr = (IGenericRuntime) runtime.getAdapter(IGenericRuntime.class)</pre>.
-GenericRuntimeUtil contains some utility methods for handling the
-generic runtime type.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>IEnterpriseApplication, IEJBModule, IWebModule, IApplicationClientModule,
-and IConnectorModule are J2EE module interfaces meant to be implemented
-by module delegates that provide J2EE module support.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>ILooseArchive and ILooseArchiveSupport are module interfaces for modules
-that take advantage of loose archive support - allowing JARs contained within
-the module to be available in a separate Java project instead of directly
-within the module.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The remainder of the classes in this package are module artifact and
-launchable types to provide access to J2EE resource types for the server tool
-framework.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.xml b/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.xml
deleted file mode 100644
index b4c0529..0000000
--- a/plugins/org.eclipse.jst.server.core/src/org/eclipse/jst/server/core/package.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-<p>Support for Java and J2EE server types.</p>
-
-<p>The ClasspathRuntimeTargetHandler class provides a common subclass
-for runtime target handlers that need to modify a project's classpath
-when a project is targetted to a particular runtime.</p>
-
-<p>IGenericRuntime and its working copy provide type-specific access
-to the generic runtime type. When using a generic runtime, clients can
-access the type specific information by adapting to these types using
-<pre>IGenericRuntime gr = (IGenericRuntime) runtime.getAdapter(IGenericRuntime.class)</pre>.
-GenericRuntimeUtil contains some utility methods for handling the
-generic runtime type.</p>
-
-<p>IEnterpriseApplication, IEJBModule, IWebModule, IApplicationClientModule,
-and IConnectorModule are J2EE module interfaces meant to be implemented
-by module delegates that provide J2EE module support.</p>
-
-<p>ILooseArchive and ILooseArchiveSupport are module interfaces for modules
-that take advantage of loose archive support - allowing JARs contained within
-the module to be available in a separate Java project instead of directly
-within the module.</p>
-
-<p>The remainder of the classes in this package are module artifact and
-launchable types to provide access to J2EE resource types for the server tool
-framework.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.classpath b/plugins/org.eclipse.jst.server.preview.adapter/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.cvsignore b/plugins/org.eclipse.jst.server.preview.adapter/.cvsignore
deleted file mode 100644
index 5f50554..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.core_3.0.0.jar
-src.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.options b/plugins/org.eclipse.jst.server.preview.adapter/.options
deleted file mode 100644
index c0ef0b3..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.core plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.core/debug=true
-
-# Turn on general debugging
-org.eclipse.jst.server.core/publishing=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.project b/plugins/org.eclipse.jst.server.preview.adapter/.project
deleted file mode 100644
index 1e67cda..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.preview.adapter</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.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.jst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 267ae57..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Fri Feb 23 21:15:39 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c39847e..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:15:38 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.jst.server.preview.adapter/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jst.server.preview.adapter/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/.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.jst.server.preview.adapter/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
deleted file mode 100644
index 826e08c..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.preview.adapter;singleton:=true
-Bundle-Version: 1.0.2.qualifier
-Bundle-Activator: org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.preview.adapter.internal;x-friends:="org.eclipse.jst.server.ui"
-Require-Bundle: org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.204,1.1.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.3.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.3.0)",
- org.eclipse.jdt.debug.ui;bundle-version="[3.2.100,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/about.html b/plugins/org.eclipse.jst.server.preview.adapter/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/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 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/build.properties b/plugins/org.eclipse.jst.server.preview.adapter/build.properties
deleted file mode 100644
index 2af08b5..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/build.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               META-INF/,\
-               about.html,\
-               icons/
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-source.. = src/
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/icons/obj16/preview.gif b/plugins/org.eclipse.jst.server.preview.adapter/icons/obj16/preview.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/icons/obj16/preview.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/plugin.properties b/plugins/org.eclipse.jst.server.preview.adapter/plugin.properties
deleted file mode 100644
index 7740776..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/plugin.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-pluginName=JEE Preview Server Support
-providerName=Eclipse.org
-
-previewRuntimeTypeName=J2EE Preview
-previewRuntimeTypeDescription=A runtime for building J2EE web modules.
-
-previewServerTypeName=J2EE Preview
-previewServerTypeDescription=A server to preview J2EE web modules.
-
-previewLaunchConfigurationType=J2EE Preview
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/plugin.xml b/plugins/org.eclipse.jst.server.preview.adapter/plugin.xml
deleted file mode 100644
index 68102c8..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/plugin.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension point="org.eclipse.wst.server.core.runtimeTypes">
-    <runtimeType
-       id="org.eclipse.jst.server.preview.runtime"
-       name="%previewRuntimeTypeName"
-       description="%previewRuntimeTypeDescription"
-       class="org.eclipse.jst.server.preview.adapter.internal.core.PreviewRuntime">
-       <moduleType
-         types="wst.web"
-         versions="1.0"/>
-       <moduleType
-         types="jst.web"
-         versions="2.2,2.3,2.4,2.5"/>
-       <moduleType
-         types="jst.utility"
-         versions="1.0"/>
-    </runtimeType>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.serverTypes">
-     <serverType
-       id="org.eclipse.jst.server.preview.server"
-       name="%previewServerTypeName"
-       description="%previewServerTypeDescription"
-       supportsRemoteHosts="false"
-       runtime="true"
-       initialState="stopped"
-       hasConfiguration="false"
-       launchModes="run,debug,profile"
-       launchConfigId="org.eclipse.jst.server.preview.launchConfigurationType"
-       runtimeTypeId="org.eclipse.jst.server.preview.runtime"
-       class="org.eclipse.jst.server.preview.adapter.internal.core.PreviewServer"
-       behaviourClass="org.eclipse.jst.server.preview.adapter.internal.core.PreviewServerBehaviour"/>
-  </extension>
-
-  <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
-    <runtimeClasspathProvider
-      id="org.eclipse.jst.server.preview.runtimeTarget"
-      runtimeTypeIds="org.eclipse.jst.server.preview.runtime"
-      class="org.eclipse.jst.server.preview.adapter.internal.core.PreviewRuntimeClasspathProvider"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <runtime-component-type
-       id="org.eclipse.jst.server.preview.runtime"/>
-
-    <runtime-component-version
-       type="org.eclipse.jst.server.preview.runtime"
-       version="1.0"/>
-
-    <adapter>
-      <runtime-component
-         id="org.eclipse.jst.server.preview.runtime"/>
-      <factory
-         class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
-      <type
-         class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
-    </adapter>
-
-    <supported>
-      <runtime-component
-         id="org.eclipse.jst.server.preview.runtime"
-         version="1.0"/>
-      <facet
-         id="wst.web"
-         version="1.0"/>
-      <facet
-         id="jst.web"
-         version="2.2,2.3,2.4,2.5"/>
-      <facet
-         id="jst.utility"
-         version="1.0"/>
-    </supported>
-  </extension>
-
-  <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
-    <runtimeFacetMapping
-      runtimeTypeId="org.eclipse.jst.server.preview.runtime"
-      runtime-component="org.eclipse.jst.server.preview.runtime"
-      version="1.0"/>
-  </extension>
-
-  <extension point="org.eclipse.debug.core.sourcePathComputers">
-     <sourcePathComputer
-        id="org.eclipse.jst.server.preview.sourcePathComputer"
-        class="org.eclipse.jst.server.preview.adapter.internal.core.PreviewSourcePathComputerDelegate"/>
-  </extension>
-
-  <extension point="org.eclipse.debug.core.launchConfigurationTypes">
-     <launchConfigurationType
-        id="org.eclipse.jst.server.preview.launchConfigurationType"
-        name="%previewLaunchConfigurationType"
-        delegate="org.eclipse.jst.server.preview.adapter.internal.core.PreviewLaunchConfigurationDelegate"
-        modes="run,debug,profile"
-        sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
-        sourcePathComputerId="org.eclipse.jst.server.preview.sourcePathComputer"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.launchableAdapters">
-    <launchableAdapter
-      id="org.eclipse.jst.server.preview"
-      class="org.eclipse.jst.server.preview.adapter.internal.core.PreviewLaunchableAdapterDelegate"/>
-  </extension>
-
-<!--
-<extension point="org.eclipse.wst.server.core.internalStartup">
-  <startup
-    id="org.eclipse.jst.server.core.startup"
-    class="org.eclipse.jst.server.core.internal.preview.PreviewStartup"/>
-</extension>
--->
-
-
-  <extension point="org.eclipse.wst.server.ui.serverImages">
-     <image
-        id="org.eclipse.jst.server.preview"
-        typeIds="org.eclipse.jst.server.preview.runtime,org.eclipse.jst.server.preview.server"
-        icon="icons/obj16/preview.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="org.eclipse.jst.server.preview.runtime"
-       path="icons/obj16/preview.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="org.eclipse.jst.server.preview.runtime"/>
-      <factory class="org.eclipse.wst.server.ui.FacetRuntimeComponentLabelProvider"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-
-  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.preview.launchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.preview.launchConfigurationType"
-      icon="icons/obj16/preview.gif">
-    </launchConfigurationTypeImage>
-  </extension>
-
-  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.preview.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.preview.launchConfigurationType"
-      class="org.eclipse.jst.server.preview.adapter.internal.ui.PreviewLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/IMemento.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/IMemento.java
deleted file mode 100644
index 443a710..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/IMemento.java
+++ /dev/null
@@ -1,194 +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.jst.server.preview.adapter.internal;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-	
-	/**
-	 * Returns the floating point value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not a floating point number
-	 */
-	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
-
-	/**
-	 * Returns the integer value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not an integer
-	 */
-	public Integer getInteger(String key);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Returns the boolean value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not a boolean
-	 */
-	public Boolean getBoolean(String key);
-	
-	/**
-	 * Return the list of names.
-	 * 
-	 * @return a possibly empty list of names
-	 */
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Messages.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Messages.java
deleted file mode 100644
index 300a8f4..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Messages.java
+++ /dev/null
@@ -1,52 +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.jst.server.preview.adapter.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String errorLocation;
-	public static String errorJRE;
-	public static String classpathContainerDescription;
-	public static String classpathContainer;
-	public static String classpathContainerUnbound;
-
-	public static String copyingTask;
-	public static String deletingTask;
-	public static String errorCopyingFile;
-	public static String errorCreatingZipFile;
-	public static String errorDelete;
-	public static String errorRename;
-	public static String errorReading;
-	public static String updateClasspathContainers;
-	public static String errorNoRuntime;
-	public static String errorFacet;
-	public static String errorDeleting;
-	public static String errorNotADirectory;
-	public static String errorMkdir;
-
-	public static String artifactServlet;
-	public static String artifactEJB;
-	public static String artifactJNDI;
-	public static String artifactCactusTest;
-
-	public static String canModifyModules;
-	public static String errorNoProfiler;
-	public static String errorPublish;
-	public static String httpPort;
-	public static String errorPortInUse;
-
-	static {
-		NLS.initializeMessages(PreviewPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Messages.properties b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Messages.properties
deleted file mode 100644
index 76c6ce4..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Messages.properties
+++ /dev/null
@@ -1,44 +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
-###############################################################################
-
-classpathContainerDescription=Server Library
-classpathContainer={0} [{1}]
-classpathContainerUnbound={0} [{1}] (unbound)
-
-errorLocation=Invalid location.
-errorJRE=Invalid JRE.
-
-copyingTask=Copying from {0} to {1}
-deletingTask=Deleting {0}
-errorCopyingFile=Error copying file {0}: {1}
-errorCreatingZipFile=Error creating zip file {0}: {1}
-errorDelete=Could not delete previous copy, which may be locked by another process.
-errorRename=Could not replace with temp file {0}.
-errorReading=Error reading file {0}
-errorNoRuntime=Cannot verify facets because there is no runtime associated with the server.
-errorFacet=Project facet {0} version {1} is not supported.
-errorDeleting=Could not delete {0}. May be locked by another process.
-errorNotADirectory=Could not delete {0} since it is not a directory.
-errorMkdir=Could not create directory {0}.
-
-updateClasspathContainers=Updating classpath container for {0}
-
-artifactServlet=Servlet {0}
-artifactEJB=EJB {0}
-artifactJNDI=JNDI {0}
-artifactCactusTest=Cactus test {0}
-
-canModifyModules=Web module can be added to the server.
-errorNoProfiler=Could not launch in profiling mode because no profilers are configured.
-errorPublish=An error occured during publishing.
-httpPort=HTTP Port
-errorPortInUse=Port {0} required by {1} is already in use. The server may already be running in another process, or a system process may be using the port. \
-  To start this server you will need to stop the other process or change the port number(s).
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/PreviewPlugin.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/PreviewPlugin.java
deleted file mode 100644
index 6020f2c..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/PreviewPlugin.java
+++ /dev/null
@@ -1,55 +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.jst.server.preview.adapter.internal;
-
-import org.eclipse.core.runtime.*;
-/**
- * The main preview server tools plugin class.
- */
-public class PreviewPlugin extends Plugin {
-	/**
-	 * Java server plugin id
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.preview.adapter";
-
-	// singleton instance of this class
-	private static PreviewPlugin singleton;
-
-	/**
-	 * Create the PreviewPlugin.
-	 */
-	public PreviewPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return a singleton instance
-	 */
-	public static PreviewPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status a status
-	 */
-	private static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	public static void logWarning(String msg) {
-		log(new Status(IStatus.WARNING, PLUGIN_ID, IStatus.OK, msg, null));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/ProgressUtil.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/ProgressUtil.java
deleted file mode 100644
index e42adf2..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/ProgressUtil.java
+++ /dev/null
@@ -1,69 +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.jst.server.preview.adapter.internal;
-
-import org.eclipse.core.runtime.*;
-/**
- * Progress Monitor utility.
- */
-public class ProgressUtil {
-	/**
-	 * ProgressUtil constructor comment.
-	 */
-	private ProgressUtil() {
-		super();
-	}
-
-	/**
-	 * Return a valid progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the
-	 * current progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks int
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks);
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the
-	 * current progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks a number of ticks
-	 * @param style a style
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks, style);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Trace.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Trace.java
deleted file mode 100644
index bf221ca..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/Trace.java
+++ /dev/null
@@ -1,67 +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.jst.server.preview.adapter.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Config tracing
-	 */
-	public static final byte CONFIG = 0;
-	/**
-	 * Warning tracing
-	 */
-	public static final byte WARNING = 1;
-	/**
-	 * Severe tracing
-	 */
-	public static final byte SEVERE = 2;
-	/**
-	 * Finest tracing
-	 */
-	public static final byte FINEST = 3;
-
-	public static final byte PUBLISHING = 4;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 * @param t Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!PreviewPlugin.getInstance().isDebugging())
-			return;
-		
-		System.out.println(PreviewPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/XMLMemento.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/XMLMemento.java
deleted file mode 100644
index 3e0a8e9..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/XMLMemento.java
+++ /dev/null
@@ -1,400 +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.jst.server.preview.adapter.internal;
-
-import java.io.*;
-import java.util.*;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-/**
- * A Memento is a class independent container for persistence
- * info.  It is a reflection of 3 storage requirements.
- *
- * 1)   We need the ability to persist an object and restore it.  
- * 2)   The class for an object may be absent.  If so we would 
- *      like to skip the object and keep reading. 
- * 3)   The class for an object may change.  If so the new class 
- *      should be able to read the old persistence info.
- *
- * We could ask the objects to serialize themselves into an 
- * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
- * all of these approaches fail to meet the second requirement.
- *
- * Memento supports binary persistance with a version ID.
- */
-public final class XMLMemento implements IMemento {
-	private Document factory;
-	private Element element;
-
-	/**
-	 * Answer a memento for the document and element.  For simplicity
-	 * you should use createReadRoot and createWriteRoot to create the initial
-	 * mementos on a document.
-	 */
-	private XMLMemento(Document doc, Element el) {
-		factory = doc;
-		element = el;
-	}
-
-	/**
-	 * @see IMemento#createChild(String)
-	 */
-	public IMemento createChild(String type) {
-		Element child = factory.createElement(type);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * @see IMemento#createChild(String, String)
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * Create a Document from a Reader and answer a root memento for reading 
-	 * a document.
-	 */
-	protected static XMLMemento createReadRoot(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param type a type
-	 * @return a memento
-	 */
-	public static XMLMemento createWriteRoot(String type) {
-		Document document;
-		try {
-			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-			Element element = document.createElement(type);
-			document.appendChild(element);
-			return new XMLMemento(document, element);            
-		} catch (ParserConfigurationException e) {
-			throw new Error(e);
-		}
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public IMemento getChild(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-	
-		// Find the first node which is a child of this node.
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					return new XMLMemento(factory, element2);
-			}
-		}
-	
-		// A child was not found.
-		return null;
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public IMemento [] getChildren(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return new IMemento[0];
-	
-		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					list.add(element2);
-			}
-		}
-	
-		// Create a memento for each node.
-		size = list.size();
-		IMemento [] results = new IMemento[size];
-		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
-		}
-		return results;
-	}
-
-	/**
-	 * Return the contents of this memento as a byte array.
-	 *
-	 * @return byte[]
-	 * @throws IOException if anything goes wrong
-	 */
-	public byte[] getContents() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toByteArray();
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return java.io.InputStream
-	 * @throws IOException if anything goes wrong
-	 */
-	public InputStream getInputStream() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return new ByteArrayInputStream(out.toByteArray());
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Integer getInteger(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Integer(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	public List getNames() {
-		NamedNodeMap map = element.getAttributes();
-		int size = map.getLength();
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			Node node = map.item(i);
-			String name = node.getNodeName();
-			list.add(name);
-		}
-		return list;
-	}
-
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 * @return a memento
-	 */
-	public static IMemento loadMemento(String filename) throws IOException {
-		InputStream in = null;
-		try {
-			in = new BufferedInputStream(new FileInputStream(filename));
-			return XMLMemento.createReadRoot(in);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to a Writer.
-	 * 
-	 * @param os an output stream
-	 * @throws IOException if anything goes wrong
-	 */
-	public void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
-			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
-			transformer.transform(source, result);
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Saves the memento to the given file.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 */
-	public void saveToFile(String filename) throws IOException {
-		FileOutputStream w = null;
-		try {
-			w = new FileOutputStream(filename);
-			save(w);
-		} catch (IOException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new IOException(e.getLocalizedMessage());
-		} finally {
-			if (w != null) {
-				try {
-					w.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-	
-	/*
-	 * @see IMemento#getBoolean(String)
-	 */
-	public Boolean getBoolean(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		if ("true".equalsIgnoreCase(strValue))
-			return new Boolean(true);
-		return new Boolean(false);
-	}
-
-	/*
-	 * @see IMemento#putBoolean(String, boolean)
-	 */
-	public void putBoolean(String key, boolean value) {
-		element.setAttribute(key, value ? "true" : "false");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PingThread.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PingThread.java
deleted file mode 100644
index 1d5461c..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PingThread.java
+++ /dev/null
@@ -1,133 +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.jst.server.preview.adapter.internal.core;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.jst.server.preview.adapter.internal.Trace;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.ServerType;
-/**
- * Thread used to ping server to test when it is started.
- */
-public class PingThread {
-	// delay before pinging starts
-	private static final int PING_DELAY = 2000;
-
-	// delay between pings
-	private static final int PING_INTERVAL = 250;
-
-	// maximum number of pings before giving up
-	private int maxPings;
-
-	private boolean stop = false;
-	private String url;
-	private IServer server;
-	private PreviewServerBehaviour behaviour;
-
-	/**
-	 * Create a new PingThread.
-	 * 
-	 * @param server
-	 * @param url
-	 * @param behaviour
-	 */
-	public PingThread(IServer server, String url, PreviewServerBehaviour behaviour) {
-		super();
-		this.server = server;
-		this.url = url;
-		this.behaviour = behaviour;
-		this.maxPings = guessMaxPings();
-		Thread t = new Thread("Preview Ping Thread") {
-			public void run() {
-				ping();
-			}
-		};
-		t.setDaemon(true);
-		t.start();
-	}
-
-	private int guessMaxPings() {
-		int startTimeout = ((ServerType) server.getServerType()).getStartTimeout();
-		if (startTimeout > 0)
-			return startTimeout / PING_INTERVAL;
-		return -1;
-	}
-
-	/**
-	 * Ping the server until it is started. Then set the server state to
-	 * STATE_STARTED.
-	 */
-	protected void ping() {
-		int count = 0;
-		try {
-			Thread.sleep(PING_DELAY);
-		} catch (Exception e) {
-			// ignore
-		}
-		while (!stop) {
-			try {
-				if (count == maxPings) {
-					try {
-						server.stop(false);
-					} catch (Exception e) {
-						Trace.trace(Trace.FINEST, "Ping: could not stop server");
-					}
-					stop = true;
-					break;
-				}
-				count++;
-				
-				Trace.trace(Trace.FINEST, "Ping: pinging " + count);
-				URL pingUrl = new URL(url);
-				URLConnection conn = pingUrl.openConnection();
-				((HttpURLConnection)conn).getResponseCode();
-	
-				// ping worked - server is up
-				if (!stop) {
-					Trace.trace(Trace.FINEST, "Ping: success");
-					Thread.sleep(200);
-					behaviour.setServerStarted();
-				}
-				stop = true;
-			} catch (FileNotFoundException fe) {
-				try {
-					Thread.sleep(200);
-				} catch (Exception e) {
-					// ignore
-				}
-				behaviour.setServerStarted();
-				stop = true;
-			} catch (Exception e) {
-				Trace.trace(Trace.FINEST, "Ping: failed");
-				// pinging failed
-				if (!stop) {
-					try {
-						Thread.sleep(PING_INTERVAL);
-					} catch (InterruptedException e2) {
-						// ignore
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Tell the pinging to stop.
-	 */
-	public void stop() {
-		Trace.trace(Trace.FINEST, "Ping: stopping");
-		stop = true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
deleted file mode 100644
index 12be701..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,130 +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.jst.server.preview.adapter.internal.core;
-
-import java.io.File;
-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.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.*;
-import org.eclipse.jst.server.core.ServerProfilerDelegate;
-import org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin;
-import org.eclipse.jst.server.preview.adapter.internal.Trace;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.osgi.framework.Bundle;
-/**
- * 
- */
-public class PreviewLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-	private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
-		"org.apache.commons.logging",
-		"org.apache.commons.el",
-		"javax.servlet",
-		"javax.servlet.jsp",
-		"org.apache.jasper",
-		"org.mortbay.jetty",
-		"org.eclipse.wst.server.preview"
-	};
-
-	private static final String MAIN_CLASS = "org.eclipse.wst.server.preview.internal.PreviewStarter";
-
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		IServer server = ServerUtil.getServer(configuration);
-		if (server == null) {
-			Trace.trace(Trace.FINEST, "Launch configuration could not find server");
-			// throw CoreException();
-			return;
-		}
-		
-		PreviewServerBehaviour previewServer = (PreviewServerBehaviour) server.loadAdapter(PreviewServerBehaviour.class, null);
-		
-		int size = REQUIRED_BUNDLE_IDS.length;
-		String[] jars = new String[size];
-		for (int i = 0; i < size; i++) {
-			Bundle b = Platform.getBundle(REQUIRED_BUNDLE_IDS[i]);
-			IPath path = null;
-			if (b != null)
-				path = PreviewRuntime.getJarredPluginPath(b);
-			if (path == null)
-				throw new CoreException(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, "Could not find required bundle " + REQUIRED_BUNDLE_IDS[i]));
-			jars[i] = path.toOSString();
-		}
-		
-		if (new File(jars[6] + "bin").exists())
-			jars[6] = jars[6] + "bin";
-		
-		IVMInstall vm = verifyVMInstall(configuration);
-		
-		IVMRunner runner = vm.getVMRunner(mode);
-		if (runner == null)
-			runner = vm.getVMRunner(ILaunchManager.RUN_MODE);
-		
-		File workingDir = verifyWorkingDirectory(configuration);
-		String workingDirName = null;
-		if (workingDir != null)
-			workingDirName = workingDir.getAbsolutePath();
-		
-		// Program & VM args
-		String pgmArgs = "\"" + previewServer.getTempDirectory().append("preview.xml").toOSString() + "\""; 
-			//getProgramArguments(configuration);
-		String vmArgs = getVMArguments(configuration);
-		String[] envp = getEnvironment(configuration);
-		
-		ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
-		
-		// VM-specific attributes
-		Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-		
-		// Classpath
-		String[] classpath2 = getClasspath(configuration);
-		String[] classpath = new String[classpath2.length + REQUIRED_BUNDLE_IDS.length];
-		System.arraycopy(jars, 0, classpath, 0, REQUIRED_BUNDLE_IDS.length);
-		System.arraycopy(classpath2, 0, classpath, REQUIRED_BUNDLE_IDS.length, classpath2.length);
-		
-		// Create VM config
-		VMRunnerConfiguration runConfig = new VMRunnerConfiguration(MAIN_CLASS, classpath);
-		runConfig.setProgramArguments(execArgs.getProgramArgumentsArray());
-		runConfig.setVMArguments(execArgs.getVMArgumentsArray());
-		runConfig.setWorkingDirectory(workingDirName);
-		runConfig.setEnvironment(envp);
-		runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-		
-		// Bootpath
-		String[] bootpath = getBootpath(configuration);
-		if (bootpath != null && bootpath.length > 0)
-			runConfig.setBootClassPath(bootpath);
-		
-		setDefaultSourceLocator(launch, configuration);
-		
-		// Launch the configuration
-		previewServer.setupLaunch(launch, mode, monitor);
-		
-		if (ILaunchManager.PROFILE_MODE.equals(mode))
-			ServerProfilerDelegate.configureProfiling(launch, vm, runConfig, monitor);
-		
-		try {
-			runner.run(runConfig, launch, monitor);
-			previewServer.setProcess(launch.getProcesses()[0]);
-		} catch (Exception e) {
-			// ignore - process failed
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchableAdapterDelegate.java
deleted file mode 100644
index c074d8c..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,53 +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.jst.server.preview.adapter.internal.core;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.server.preview.adapter.internal.Trace;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-
-public class PreviewLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	/*
-	 * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
-		if (server == null || moduleArtifact == null)
-			return null;
-		
-		PreviewServer server2 = (PreviewServer) server.loadAdapter(PreviewServer.class, null);
-		if (server2 == null)
-			return null;
-		
-		try {
-			URL url = server2.getModuleRootURL(moduleArtifact.getModule());
-			
-			if (moduleArtifact instanceof WebResource) {
-				WebResource resource = (WebResource) moduleArtifact;
-				String path = resource.getPath().toString();
-				
-				if (path.startsWith("/"))
-					path = path.substring(1);
-				url = new URL(url.toExternalForm() + "/" + path);
-			}
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error in launchable adapter", e);
-		}
-		
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntime.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntime.java
deleted file mode 100644
index 8ec5445..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntime.java
+++ /dev/null
@@ -1,151 +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.jst.server.preview.adapter.internal.core;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IJavaRuntime;
-import org.eclipse.jst.server.preview.adapter.internal.Messages;
-import org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.osgi.framework.Bundle;
-/**
- * J2EE preview runtime.
- */
-public class PreviewRuntime extends RuntimeDelegate implements IJavaRuntime {
-	public static final String ID = "org.eclipse.jst.server.preview.runtime";
-
-	protected static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id";
-	protected static final String PROP_VM_INSTALL_ID = "vm-install-id";
-
-	/**
-	 * Create a new preview runtime.
-	 */
-	public PreviewRuntime() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the path that corresponds to the specified bundle.
-	 * 
-	 * @return a path
-	 */
-	protected static Path getPluginPath(Bundle bundle) {
-		try {
-			URL installURL = bundle.getEntry("/");
-			URL localURL = FileLocator.toFileURL(installURL);
-			return new Path(localURL.getFile());
-		} catch (IOException ioe) {
-			return null;
-		}
-	}
-
-	protected static IPath getJarredPluginPath(Bundle bundle) {
-		Path runtimeLibFullPath = null;
-		String jarPluginLocation = bundle.getLocation().substring(7);
-		
-		// handle case where jars are installed outside of eclipse installation
-		Path jarPluginPath = new Path(jarPluginLocation);
-		if (jarPluginPath.isAbsolute())
-			runtimeLibFullPath = jarPluginPath;
-		// handle normal case where all plugins under eclipse install
-		else {
-			int ind = jarPluginLocation.lastIndexOf(":");
-			if (ind > 0)
-				jarPluginLocation = jarPluginLocation.substring(ind+1);
-			
-			String installPath = Platform.getInstallLocation().getURL().getPath();
-			runtimeLibFullPath = new Path(installPath+"/"+jarPluginLocation);
-		}
-		return runtimeLibFullPath;
-	}
-
-	protected String getVMInstallTypeId() {
-		return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-
-	protected String getVMInstallId() {
-		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-
-	/**
-	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		getRuntimeWorkingCopy().setLocation(new Path(""));
-	}
-
-	/**
-	 * Returns <code>true</code> if the runtime is using the default JRE.
-	 * 
-	 * @return <code>true</code> if the runtime is using the default JRE,
-	 *    and <code>false</code> otherwise
-	 */
-	public boolean isUsingDefaultJRE() {
-		return getVMInstallTypeId() == null;
-	}
-
-	public IVMInstall getVMInstall() {
-		if (getVMInstallTypeId() == null)
-			return JavaRuntime.getDefaultVMInstall();
-		try {
-			IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId());
-			IVMInstall[] vmInstalls = vmInstallType.getVMInstalls();
-			int size = vmInstalls.length;
-			String id = getVMInstallId();
-			for (int i = 0; i < size; i++) {
-				if (id.equals(vmInstalls[i].getId()))
-					return vmInstalls[i];
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	}
-
-	/**
-	 * @see RuntimeDelegate#validate()
-	 */
-	public IStatus validate() {
-		IStatus status = super.validate();
-		if (!status.isOK())
-			return status;
-		
-		if (getVMInstall() == null)
-			return new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, 0, Messages.errorJRE, null);
-		
-		return Status.OK_STATUS;
-	}
-
-	public void setVMInstall(IVMInstall vmInstall) {
-		if (vmInstall == null) {
-			setVMInstall(null, null);
-		} else
-			setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-	}
-
-	protected void setVMInstall(String typeId, String id) {
-		if (typeId == null)
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-		
-		if (id == null)
-			setAttribute(PROP_VM_INSTALL_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_ID, id);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntimeClasspathProvider.java
deleted file mode 100644
index 6adacad..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewRuntimeClasspathProvider.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.jst.server.preview.adapter.internal.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate;
-
-import org.eclipse.wst.server.core.IRuntime;
-import org.osgi.framework.Bundle;
-/**
- * 
- */
-public class PreviewRuntimeClasspathProvider extends RuntimeClasspathProviderDelegate {
-	private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
-		"javax.servlet",
-		"javax.servlet.jsp"
-	};
-
-	/** (non-Javadoc)
-	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IProject, IRuntime)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
-		List list = new ArrayList();
-		
-		int size = REQUIRED_BUNDLE_IDS.length;
-		for (int i = 0; i < size; i++) {
-			Bundle b = Platform.getBundle(REQUIRED_BUNDLE_IDS[i]);
-			IPath path = PreviewRuntime.getJarredPluginPath(b);
-			if (path != null)
-				list.add(JavaCore.newLibraryEntry(path, null, null));
-		}
-		
-		return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServer.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServer.java
deleted file mode 100644
index 2da1b7d..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServer.java
+++ /dev/null
@@ -1,175 +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.jst.server.preview.adapter.internal.core;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.preview.adapter.internal.Messages;
-import org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin;
-import org.eclipse.jst.server.preview.adapter.internal.Trace;
-import org.eclipse.wst.server.core.IModule;
-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.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-/**
- * J2EE preview server.
- */
-public class PreviewServer extends ServerDelegate implements IURLProvider {
-	public static final String ID = "org.eclipse.jst.server.preview.server";
-
-	public static final String PROPERTY_PORT = "port";
-
-	/**
-	 * PreviewServer.
-	 */
-	public PreviewServer() {
-		super();
-	}
-
-	protected void initialize() {
-		// do nothing
-	}
-
-	public PreviewRuntime getPreviewRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-		
-		return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
-	}
-
-	/**
-	 * Return the root URL of this module.
-	 * 
-	 * @param module a module
-	 * @return java.net.URL
-	 */
-	public URL getModuleRootURL(IModule module) {
-		try {
-			String base = "http://localhost";
-			
-			int port = getPort();
-			URL url = null;
-			if (port == 80)
-				url = new URL(base + "/");
-			else
-				url = new URL(base + ":" + port + "/");
-			
-			String type = module.getModuleType().getId();
-			if ("wst.web".equals(type)) {
-				IStaticWeb staticWeb = (IStaticWeb) module.loadAdapter(IStaticWeb.class, null);
-				return new URL(url, staticWeb.getContextRoot());
-			} else if ("jst.web".equals(type)) {
-				IWebModule webModule = (IWebModule) module.loadAdapter(IWebModule.class, null);
-				return new URL(url, webModule.getContextRoot());
-			}
-			return url;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not get root URL", e);
-			return null;
-		}
-	}
-
-	/*
-	 * Returns the child module(s) of this module.
-	 */
-	public IModule[] getChildModules(IModule[] module) {
-		return new IModule[0];
-	}
-
-	/*
-	 * Returns the root module(s) of this module.
-	 */
-	public IModule[] getRootModules(IModule module) throws CoreException {
-		return new IModule[] { module };
-	}
-
-	/**
-	 * Returns true if the given project is supported by this server, and false
-	 * otherwise.
-	 * 
-	 * @param add modules
-	 * @param remove modules
-	 * @return the status
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		return new Status(IStatus.OK, PreviewPlugin.PLUGIN_ID, 0, Messages.canModifyModules, null);
-	}
-
-	public ServerPort[] getServerPorts() {
-		int port = getPort();
-		ServerPort[] ports = { new ServerPort("http", Messages.httpPort, port, "http") };
-		return ports;
-	}
-
-	public int getPort() {
-		return getAttribute(PreviewServer.PROPERTY_PORT, 8080);
-	}
-
-	public void setPort(int port) {
-		setAttribute(PreviewServer.PROPERTY_PORT, port);
-	}
-
-	public static IServer createPreviewServer(String serverName) {
-		try {
-			NullProgressMonitor monitor = new NullProgressMonitor();
-			IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
-			IRuntimeWorkingCopy runtimeCopy = runtimeType.createRuntime(PreviewRuntime.ID, monitor);
-			IRuntime runtime = runtimeCopy.save(true, monitor);
-			
-			IServerType serverType = ServerCore.findServerType(ID);
-			IServerWorkingCopy workingCopy = serverType.createServer(ID, null, runtime, monitor);
-			workingCopy.setName(serverName);
-			workingCopy.setHost("localhost");
-			return workingCopy.save(true, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error creating server", e);
-		}
-		
-		return null;
-	}
-
-	public static IServer findPreviewServer(String id) {
-		IServer[] servers = ServerCore.getServers();
-		for (int i = 0; i < servers.length; i++) {
-			if (servers[i].getId().equals(id)) {
-				return servers[i];
-			}
-		}
-		return null;
-	}
-
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "PreviewServer";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServerBehaviour.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServerBehaviour.java
deleted file mode 100644
index c8349e1..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewServerBehaviour.java
+++ /dev/null
@@ -1,313 +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.jst.server.preview.adapter.internal.core;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.preview.adapter.internal.IMemento;
-import org.eclipse.jst.server.preview.adapter.internal.Messages;
-import org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin;
-import org.eclipse.jst.server.preview.adapter.internal.ProgressUtil;
-import org.eclipse.jst.server.preview.adapter.internal.Trace;
-import org.eclipse.jst.server.preview.adapter.internal.XMLMemento;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-import org.eclipse.wst.server.core.util.PublishUtil;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * Generic Http server.
- */
-public class PreviewServerBehaviour extends ServerBehaviourDelegate {
-	// the thread used to ping the server to check for startup
-	protected transient PingThread ping = null;
-	protected transient IProcess process;
-	protected transient IDebugEventSetListener processListener;
-
-	/**
-	 * PreviewServer.
-	 */
-	public PreviewServerBehaviour() {
-		super();
-	}
-
-	public void initialize(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	public PreviewRuntime getPreviewRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-
-		return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
-	}
-
-	public PreviewServer getPreviewServer() {
-		return (PreviewServer) getServer().getAdapter(PreviewServer.class);
-	}
-
-	/**
-	 * Returns the runtime base path for relative paths in the server
-	 * configuration.
-	 * 
-	 * @return the base path
-	 */
-	public IPath getRuntimeBaseDirectory() {
-		return getServer().getRuntime().getLocation();
-	}
-
-	/**
-	 * Setup for starting the server.
-	 * 
-	 * @param launch ILaunch
-	 * @param launchMode String
-	 * @param monitor IProgressMonitor
-	 * @throws CoreException if anything goes wrong
-	 */
-	protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-		// check that ports are free
-		ServerPort[] ports = getPreviewServer().getServerPorts();
-		int port = ports[0].getPort();
-		
-		if (SocketUtil.isPortInUse(port, 5))
-			throw new CoreException(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, new String[] {port + "", getServer().getName()}), null));
-		
-		// generate preview config file
-		XMLMemento memento = XMLMemento.createWriteRoot("server");
-		memento.putInteger("port", port);
-		
-		IModule[] modules = getServer().getModules();
-		int size = modules.length;
-		for (int i = 0; i < size; i++) {
-			IMemento mod = memento.createChild("module");
-			mod.putString("name", modules[i].getName());
-			String type = modules[i].getModuleType().getId();
-			if ("wst.web".equals(type)) {
-				IStaticWeb staticWeb = (IStaticWeb) modules[i].loadAdapter(IStaticWeb.class, null);
-				mod.putString("context", staticWeb.getContextRoot());
-				mod.putString("type", "static");
-			} else if ("jst.web".equals(type)) {
-				IWebModule webModule = (IWebModule) modules[i].loadAdapter(IWebModule.class, null);
-				mod.putString("context", webModule.getContextRoot());
-				mod.putString("type", "j2ee");
-			}
-			mod.putString("path", getModulePublishDirectory(modules[i]).toPortableString());
-		}
-		try {
-			memento.saveToFile(getTempDirectory().append("preview.xml").toOSString());
-		} catch (IOException e) {
-			Trace.trace(Trace.SEVERE, "Could not write preview config", e);
-			throw new CoreException(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, 0, "Could not write preview configuration", null));
-		}
-		
-		setServerRestartState(false);
-		setServerState(IServer.STATE_STARTING);
-		setMode(launchMode);
-		
-		// ping server to check for startup
-		try {
-			String url = "http://localhost";
-			if (port != 80)
-				url += ":" + port;
-			ping = new PingThread(getServer(), url, this);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
-		}
-	}
-
-	protected void setProcess(final IProcess newProcess) {
-		if (process != null)
-			return;
-		
-		process = newProcess;
-		if (processListener != null)
-			DebugPlugin.getDefault().removeDebugEventListener(processListener);
-		if (newProcess == null)
-			return;
-		
-		processListener = new IDebugEventSetListener() {
-			public void handleDebugEvents(DebugEvent[] events) {
-				if (events != null) {
-					int size = events.length;
-					for (int i = 0; i < size; i++) {
-						Object obj = events[i].getSource();
-						
-						if (!(obj instanceof IDebugTarget))
-							continue;
-						
-						IDebugTarget target = (IDebugTarget) obj;
-						IProcess targetProcess = target.getProcess();
-						
-						if (process != null && process.equals(targetProcess)
-								&& events[i].getKind() == DebugEvent.TERMINATE) {
-							DebugPlugin.getDefault().removeDebugEventListener(this);
-							stopImpl();
-						}
-					}
-				}
-			}
-		};
-		DebugPlugin.getDefault().addDebugEventListener(processListener);
-	}
-
-	protected void setServerStarted() {
-		setServerState(IServer.STATE_STARTED);
-	}
-
-	protected void stopImpl() {
-		if (ping != null) {
-			ping.stop();
-			ping = null;
-		}
-		if (process != null) {
-			process = null;
-			DebugPlugin.getDefault().removeDebugEventListener(processListener);
-			processListener = null;
-		}
-		setServerState(IServer.STATE_STOPPED);
-	}
-
-	protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.done();
-
-		setServerPublishState(IServer.PUBLISH_STATE_NONE);
-	}
-
-	/*
-	 * Publishes the given module to the server.
-	 */
-	protected void publishModule(int kind, int deltaKind, IModule[] moduleTree, IProgressMonitor monitor) throws CoreException {
-		IModule module = moduleTree[moduleTree.length - 1]; 
-		IPath to = getModulePublishDirectory(module);
-		
-		if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) {
-			IStatus[] status = PublishUtil.deleteDirectory(to.toFile(), monitor);
-			throwException(status);
-		}
-		
-		IModuleResource[] res = getResources(moduleTree);
-		IStatus[] status = PublishUtil.publishSmart(res, to, monitor);
-		throwException(status);
-		
-		setModulePublishState(moduleTree, IServer.PUBLISH_STATE_NONE);
-	}
-
-	/**
-	 * Utility method to throw a CoreException based on the contents of a list of
-	 * error and warning status.
-	 * 
-	 * @param status a List containing error and warning IStatus
-	 * @throws CoreException
-	 */
-	private static void throwException(IStatus[] status) throws CoreException {
-		if (status == null || status.length == 0)
-			return;
-		
-		if (status.length == 1)
-			throw new CoreException(status[0]);
-		
-		String message = Messages.errorPublish;
-		MultiStatus status2 = new MultiStatus(PreviewPlugin.PLUGIN_ID, 0, status, message, null);
-		throw new CoreException(status2);
-	}
-
-	public void restart(String launchMode) throws CoreException {
-		setServerState(IServer.STATE_STOPPED);
-		setServerState(IServer.STATE_STARTED);
-	}
-
-	/**
-	 * Cleanly shuts down and terminates the server.
-	 * 
-	 * @param force <code>true</code> to kill the server
-	 */
-	public void stop(boolean force) {
-		if (force) {
-			terminate();
-			return;
-		}
-		int state = getServer().getServerState();
-		if (state == IServer.STATE_STOPPED)
-			return;
-		else if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-			terminate();
-			return;
-		}
-		
-		// should really try to stop normally
-		terminate();
-	}
-
-	/**
-	 * Terminates the server.
-	 */
-	protected void terminate() {
-		if (getServer().getServerState() == IServer.STATE_STOPPED)
-			return;
-		
-		try {
-			setServerState(IServer.STATE_STOPPING);
-			Trace.trace(Trace.FINEST, "Killing the HTTP process");
-			if (process != null && !process.isTerminated())
-				process.terminate();
-			
-			stopImpl();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error killing the process", e);
-		}
-	}
-
-	protected IPath getTempDirectory() {
-		return super.getTempDirectory();
-	}
-
-	/**
-	 * Returns the module's publish path.
-	 * 
-	 * @param module a module
-	 * @return the publish directory for the module
-	 */
-	protected IPath getModulePublishDirectory(IModule module) {
-		return getTempDirectory().append(module.getName());
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "PreviewServer";
-	}
-
-	protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
-		return super.getPublishedResourceDelta(module);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewSourcePathComputerDelegate.java
deleted file mode 100644
index b2b760d..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,90 +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.jst.server.preview.adapter.internal.core;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- *
- */
-public class PreviewSourcePathComputerDelegate implements ISourcePathComputerDelegate {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		List classpaths = new ArrayList();
-		classpaths.addAll(Arrays.asList(JavaRuntime.computeUnresolvedSourceLookupPath(configuration)));
-		List sourcefolderList = new ArrayList();
-		
-		IServer server = ServerUtil.getServer(configuration);
-		if (server != null) {
-			List list = new ArrayList();
-			IModule[] modules = server.getModules();
-			for (int i = 0; i < modules.length; i++) {
-				IProject project = modules[i].getProject();
-				if (project != null) {
-					IFolder moduleFolder = project.getFolder(modules[i].getName());
-					if (moduleFolder.exists()) {
-						sourcefolderList.add(new FolderSourceContainer(moduleFolder, true));
-					}
-					
-					try {
-						if (project.hasNature(JavaCore.NATURE_ID)) {
-							IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-							if (!list.contains(javaProject))
-								list.add(javaProject);
-						}
-					} catch (Exception e) {
-						// ignore
-					}
-				}
-			}
-			int size = list.size();
-			IJavaProject[] projects = new IJavaProject[size];
-			list.toArray(projects);
-			
-			for (int i = 0; i < size; i++)
-				classpaths.addAll(Arrays.asList(JavaRuntime.computeUnresolvedRuntimeClasspath(projects[i])));
-		}
-
-		IRuntimeClasspathEntry[] entries = new IRuntimeClasspathEntry[classpaths.size()];
-		classpaths.toArray(entries);
-
-		IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
-		ISourceContainer[] sourceContainers = JavaRuntime.getSourceContainers(resolved);
-		
-		if (!sourcefolderList.isEmpty()) {
-			ISourceContainer[] combinedSourceContainers = new ISourceContainer[sourceContainers.length + sourcefolderList.size()];
-			sourcefolderList.toArray(combinedSourceContainers);
-			System.arraycopy(sourceContainers, 0, combinedSourceContainers, sourcefolderList.size(), sourceContainers.length);
-			sourceContainers = combinedSourceContainers;
-		}
-
-		return sourceContainers;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewStartup.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewStartup.java
deleted file mode 100644
index 2f9970c..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewStartup.java
+++ /dev/null
@@ -1,77 +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.jst.server.preview.adapter.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.server.preview.adapter.internal.Trace;
-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.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.IStartup;
-
-public class PreviewStartup implements IStartup {
-	private static final String ID = "xyz"; 
-
-	public void startup() {
-		// create runtime
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		IRuntime runtime = null;
-		
-		int size = runtimes.length;
-		for (int i = 0; i < size; i++) {
-			if (runtimes[i].getRuntimeType() != null && PreviewRuntime.ID.equals(runtimes[i].getRuntimeType().getId())) {
-				if (ID.equals(runtimes[i].getId()))
-					runtime = runtimes[i];
-			}
-		}
-		
-		if (runtime == null) {
-			try {
-				IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
-				IRuntimeWorkingCopy wc = runtimeType.createRuntime(ID, null);
-				wc.setName("My Preview");
-				wc.setReadOnly(true);
-				runtime = wc.save(true, null);
-			} catch (CoreException ce) {
-				Trace.trace(Trace.WARNING, "Could not create default preview runtime");
-			}
-		}
-		
-		// create server
-		IServer[] servers = ServerCore.getServers();
-		
-		boolean found = false;
-		size = servers.length;
-		for (int i = 0; i < size; i++) {
-			if (servers[i].getServerType() != null && PreviewServer.ID.equals(servers[i].getServerType().getId())) {
-				if (ID.equals(servers[i].getId()))
-					found = true;
-			}
-		}
-		
-		if (!found) {
-			try {
-				IServerType serverType = ServerCore.findServerType(PreviewServer.ID);
-				IServerWorkingCopy wc = serverType.createServer(ID, null, runtime, null);
-				wc.setName("My preview");
-				wc.setHost("localhost");
-				wc.setReadOnly(true);
-				wc.save(true, null);
-			} catch (CoreException ce) {
-				Trace.trace(Trace.WARNING, "Could not create default preview server");
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java
deleted file mode 100644
index bf3730d..0000000
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,42 +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.jst.server.preview.adapter.internal.ui;
-
-import org.eclipse.debug.ui.*;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-/**
- * A debug tab group for launching Tomcat. 
- */
-public class PreviewLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
-	/*
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[6];
-		tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.jst.server.preview" });
-		tabs[0].setLaunchConfigurationDialog(dialog);
-		tabs[1] = new JavaArgumentsTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		tabs[2] = new JavaClasspathTab();
-		tabs[2].setLaunchConfigurationDialog(dialog);
-		tabs[3] = new SourceLookupTab();
-		tabs[3].setLaunchConfigurationDialog(dialog);
-		tabs[4] = new EnvironmentTab();
-		tabs[4].setLaunchConfigurationDialog(dialog);
-		tabs[5] = new CommonTab();
-		tabs[5].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.classpath b/plugins/org.eclipse.jst.server.tomcat.ui/.classpath
deleted file mode 100644
index 16beb84..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="tomcatui/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore b/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore
deleted file mode 100644
index 4571f2d..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.tomcat.ui_3.0.0.jar
-tomcatui.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.options b/plugins/org.eclipse.jst.server.tomcat.ui/.options
deleted file mode 100644
index d88b03b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.tomcat.ui plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.tomcat.ui/debug=true
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.project b/plugins/org.eclipse.jst.server.tomcat.ui/.project
deleted file mode 100644
index 731f756..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.tomcat.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.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.jst.server.tomcat.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2a1f082..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Tue Jan 16 17:01:56 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 584bdff..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri Nov 10 18:06:11 HST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0e06e96..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,15 +0,0 @@
-#Mon Jan 15 21:56:48 EST 2007
-compilers.incompatible-environment=0
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.missing-packages=2
-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=1
-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.jst.server.tomcat.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 6e7b028..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.tomcat.ui; singleton:=true
-Bundle-Version: 1.1.000.qualifier
-Bundle-Activator: org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.tomcat.ui.internal;x-internal:=true,
- org.eclipse.jst.server.tomcat.ui.internal.editor;x-internal:=true
-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.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.debug.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.debug.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.204,1.1.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.204,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.jst.server.ui;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.jst.server.tomcat.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.3.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/about.html b/plugins/org.eclipse.jst.server.tomcat.ui/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.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 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/build.properties b/plugins/org.eclipse.jst.server.tomcat.ui/build.properties
deleted file mode 100644
index 5db4978..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/build.properties
+++ /dev/null
@@ -1,22 +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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               .,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-source.. = tomcatui/
-
-
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif
deleted file mode 100644
index c585010..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_extension.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif
deleted file mode 100644
index 0a8e4bf..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/mime_mapping.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif
deleted file mode 100644
index 7a354b7..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/port.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif
deleted file mode 100644
index 0cb4c16..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/project_missing.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/tomcat.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif b/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif
deleted file mode 100644
index bf20f70..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/obj16/web_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.png b/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.png
deleted file mode 100644
index 577567c..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/icons/wizban/tomcat_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
deleted file mode 100644
index 84151ae..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.properties
+++ /dev/null
@@ -1,17 +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
-###############################################################################
-pluginName=Apache Tomcat UI Support
-providerName=Eclipse.org
-
-configurationEditorWebModulesPage=Modules
-
-cleanTomcatWorkDir=Clean Tomcat Work Directory...
-cleanTomcatModuleWorkDir=Clean Module Work Directory...
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
deleted file mode 100644
index b493beb..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/plugin.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-   <extension point="org.eclipse.wst.server.ui.serverImages">
-      <image
-         id="org.eclipse.jst.server.tomcat.32"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.32"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.40"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.40"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.41"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.41"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.50"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.50"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.55"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.55"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.60"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.60"/>
-
-      <image
-         id="org.eclipse.jst.server.tomcat.32"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.32"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.40"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.40"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.41"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.41"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.50"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.50"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.55"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.55"/>
-      <image
-         id="org.eclipse.jst.server.tomcat.60"
-         icon="icons/obj16/tomcat.gif"
-         typeIds="org.eclipse.jst.server.tomcat.60"/>
-   </extension>
-   
-   <extension point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-         id="org.eclipse.jst.server.tomcat.ui.propertyTester"
-         namespace="org.eclipse.jst.server.tomcat.ui"
-         properties="hasConfiguration"
-         type="java.lang.Object"
-         class="org.eclipse.jst.server.tomcat.ui.internal.ConfigurationPropertyTester">
-      </propertyTester>
-   </extension>
-
-   <extension point="org.eclipse.wst.server.ui.editorPages">
-      <page
-         id="org.eclipse.jst.server.tomcat.configuration.editor.webmodule"
-         order="20"
-         name="%configurationEditorWebModulesPage"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationWebModuleEditorPart">
-         <enablement>
-           <test property="org.eclipse.jst.server.tomcat.ui.hasConfiguration" value="true"/>
-         </enablement>
-      </page>
-   </extension>
-
-   <extension point="org.eclipse.wst.server.ui.editorPageSections">
-      <section
-         id="org.eclipse.jst.server.tomcat.server.editor.instance"
-         order="0"
-         insertionId="org.eclipse.wst.server.editor.overview.left"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ServerLocationEditorSection"/>
-      <section
-         id="org.eclipse.jst.server.tomcat.server.editor.general"
-         order="5"
-         insertionId="org.eclipse.wst.server.editor.overview.left"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ServerGeneralEditorSection"/>
-      <section
-         id="org.eclipse.jst.server.tomcat.configuration.editor.port"
-         order="10"
-         insertionId="org.eclipse.wst.server.editor.overview.right"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationPortEditorSection">
-         <enablement>
-           <test property="org.eclipse.jst.server.tomcat.ui.hasConfiguration" value="true"/>
-         </enablement>
-      </section>
-      <section
-         id="org.eclipse.jst.server.tomcat.configuration.editor.mime"
-         order="20"
-         insertionId="org.eclipse.wst.server.editor.overview.right"
-         typeIds="org.eclipse.jst.server.tomcat.*"
-         class="org.eclipse.jst.server.tomcat.ui.internal.editor.ConfigurationMimeEditorSection">
-         <enablement>
-           <test property="org.eclipse.jst.server.tomcat.ui.hasConfiguration" value="true"/>
-         </enablement>
-      </section>
-   </extension>
-   
-   <extension point="org.eclipse.wst.server.ui.wizardFragments">
-      <fragment
-         id="org.eclipse.jst.server.tomcat.runtime.32"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.32"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.runtime.40"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.40"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.runtime.41"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.41"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.runtime.50"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.50"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.runtime.55"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.55"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-      <fragment
-         id="org.eclipse.jst.server.tomcat.runtime.60"
-         typeIds="org.eclipse.jst.server.tomcat.runtime.60"
-         class="org.eclipse.jst.server.tomcat.ui.internal.TomcatRuntimeWizardFragment"/>
-   </extension>
-
-  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.tomcat.ui.launchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-      icon="icons/obj16/tomcat.gif">
-    </launchConfigurationTypeImage>
-  </extension>
-
-  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.tomcat.ui.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.tomcat.core.launchConfigurationType"
-      class="org.eclipse.jst.server.tomcat.ui.internal.TomcatLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="org.eclipse.jst.server.tomcat"
-      path="icons/obj16/tomcat.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="org.eclipse.jst.server.tomcat"/>
-      <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-
-  <extension point="org.eclipse.ui.popupMenus">
-    <objectContribution
-      adaptable="true"
-      id="org.eclipse.jst.server.tomcat.ui.serveractions"
-      objectClass="org.eclipse.wst.server.core.IServer">
-      <enablement>
-        <test forcePluginActivation="true"
-          property="org.eclipse.wst.server.ui.serverType"
-          value="org.eclipse.jst.server.tomcat.*" />
-      </enablement>
-      <action 
-        class="org.eclipse.jst.server.tomcat.ui.internal.actions.CleanWorkDirAction"
-        enablesFor="1"
-        id="org.eclipse.jst.server.tomcat.ui.cleanserverworkdir"
-        label="%cleanTomcatWorkDir">
-      </action>
-    </objectContribution>
-    <objectContribution
-      adaptable="true"
-      id="org.eclipse.jst.server.tomcat.ui.serveractions"
-      objectClass="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
-      <enablement>
-        <and>
-          <test forcePluginActivation="true"
-            property="org.eclipse.wst.server.ui.moduleType"
-            value="jst.web"/>
-          <test forcePluginActivation="true"
-            property="org.eclipse.wst.server.ui.serverType"
-            value="org.eclipse.jst.server.tomcat.*"/>
-        </and>
-      </enablement>
-      <action
-        class="org.eclipse.jst.server.tomcat.ui.internal.actions.CleanWorkDirAction"
-        enablesFor="1"
-        id="org.eclipse.jst.server.tomcat.ui.cleanmoduleworkdir"
-        label="%cleanTomcatModuleWorkDir">
-      </action>
-    </objectContribution>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/CleanWorkDirDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/CleanWorkDirDialog.java
deleted file mode 100644
index 6613b94..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/CleanWorkDirDialog.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 SAS Institute, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Larry Isaacs - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.tomcat.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.MultiStatus;
-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.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatWebModule;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServerBehaviour;
-import org.eclipse.jst.server.tomcat.core.internal.WebModule;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-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.ui.PlatformUI;
-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.IServer.IOperationListener;
-
-/**
- * Dialog to confirm deletion of the work directory for a module on a
- * server, or the work directory for the entire server.  Handling
- * includes stopping and restarting the server if it is running at
- * the time of the deletion. 
- *
- */
-public class CleanWorkDirDialog extends Dialog {
-	/**
-	 * Error code when error occurs prior to deletion
-	 */
-	public static final int ERROR_PREDELETE = 0;
-	
-	/**
-	 * Error code when error occurs during the deletion
-	 */
-	public static final int ERROR_DURINGDELETE = 1;
-
-	/**
-	 * Error code when error occurs after deletion
-	 */
-	public static final int ERROR_POSTDELETE = 2;
-	
-	protected IServer server;
-	protected IModule module;
-	protected int state;
-	protected String mode;
-	protected IStatus completionStatus = Status.OK_STATUS;
-	
-	/**
-	 * Creates a dialog instance confirm deletion of the work directory for a
-	 * module on a server, or the work directory for the entire server.
-	 * 
-	 * @param parentShell the parent shell, or <code>null</code> to create a
-	 *  top-level shell
-	 * @param server server on which to delete the work directory
-	 * @param module module whose work directory is to be deleted, or <code>null</code> if
-	 *  if these server's entire work directory is to be deleted.
-	 */
-	public CleanWorkDirDialog(Shell parentShell, IServer server, IModule module) {
-		super(parentShell);
-		
-		if (server == null)
-			throw new IllegalArgumentException();
-
-		this.server = server;
-		this.module = module;
-		
-	}
-	
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.confirmCleanWorkDirTitle);
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		if (state < 0 || state == IServer.STATE_UNKNOWN) 
-			captureServerState();
-
-		// create a composite with standard margins and spacing
-		Composite composite = (Composite)super.createDialogArea(parent);
-		// Since there are only label widgets on this page, set the help on the parent
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, ContextIds.SERVER_CLEAN_WORK_DIR);
-
-		Label label = new Label(composite, SWT.WRAP);
-		if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING || state == IServer.STATE_UNKNOWN) {
-			label.setText(NLS.bind(Messages.cleanServerStateChanging, server.getName()));
-		}
-		else {
-			if (module != null)
-				label.setText(NLS.bind(Messages.cleanModuleWorkDir, module.getName(), server.getName()));
-			else
-				label.setText(NLS.bind(Messages.cleanServerWorkDir, server.getName()));
-			GridData data = new GridData();
-			data.widthHint = 300;
-			label.setLayoutData(data);
-			
-			if (state == IServer.STATE_STARTED) {
-				label = new Label(composite, SWT.WRAP);
-				label.setText(Messages.cleanServerRunning);
-				data = new GridData();
-				data.widthHint = 300;
-				label.setLayoutData(data);
-			}
-		}
-		
-		applyDialogFont(composite);
-		return composite;
-	}
-	
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-
-		if (state < 0 || state == IServer.STATE_UNKNOWN) 
-			captureServerState();
-
-		// If server is transitioning, only allow Cancel
-		if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-			Button button = getButton(IDialogConstants.OK_ID);
-			if (button != null)
-				button.setEnabled(false);
-		}
-	}
-
-	protected void okPressed() {
-		// Create job to perform the deletion
-		DeleteWorkDirJob job = new DeleteWorkDirJob(Messages.cleanServerTask);
-		job.setRule(ServerUtil.getServerSchedulingRule(server));
-		
-		job.addJobChangeListener(new JobChangeAdapter() {
-			public void done(IJobChangeEvent event) {
-				IStatus status = event.getResult();
-				if (!status.isOK()) {
-					String title = module != null ? Messages.errorCleanModuleTitle : Messages.errorCleanServerTitle;
-					String message = "Message unset";
-					switch (status.getCode()) {
-					case CleanWorkDirDialog.ERROR_PREDELETE:
-						message = module != null ?
-								NLS.bind(Messages.errorCouldNotCleanModule, module.getName(), server.getName()) :
-									NLS.bind(Messages.errorCouldNotCleanServer, server.getName());
-						break;
-					case CleanWorkDirDialog.ERROR_DURINGDELETE:
-						message = module != null ?
-								NLS.bind(Messages.errorCleanFailedModule, module.getName(), server.getName()) :
-									NLS.bind(Messages.errorCleanFailedServer, server.getName());
-						break;
-					default:
-						message = module != null ?
-								NLS.bind(Messages.errorCleanNoRestartModule, module.getName()) :
-									NLS.bind(Messages.errorCleanNoRestartServer, server.getName());
-						break;
-					}
-					TomcatUIPlugin.openError(title, message, status);
-				}
-			}
-		});
-		
-		job.schedule();
-		
-		super.okPressed();
-	}
-	
-	class DeleteWorkDirJob extends Job {
-		/**
-		 * @param name name for job
-		 */
-		public DeleteWorkDirJob(String name) {
-			super(name);
-		}
-
-		/**
-		 * @see Job#belongsTo(Object)
-		 */
-		public boolean belongsTo(Object family) {
-			return ServerUtil.SERVER_JOB_FAMILY.equals(family);
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-			// If state has changed since dialog was open, abort
-			if (server.getServerState() != state) {
-				return newErrorStatus(ERROR_PREDELETE, Messages.errorCouldNotCleanStateChange, null);
-			}
-
-			IOperationListener listener = new IOperationListener() {
-				public void done(IStatus result) {
-					completionStatus = result;
-				}
-			};
-			boolean restart = false;
-			IStatus status = Status.OK_STATUS;
-			// If server isn't stopped, try to stop, clean, and restart
-			if (state != IServer.STATE_STOPPED) {
-				status = server.canStop();
-				if (!status.isOK()) {
-					return wrapErrorStatus(status, ERROR_PREDELETE, Messages.errorCouldNotCleanCantStop);
-				}
-
-				server.stop(false, listener);
-
-				if (!completionStatus.isOK()) {
-					return wrapErrorStatus(completionStatus, ERROR_PREDELETE, Messages.errorCouldNotCleanStopFailed);
-				}
-				if (server.getServerState() != IServer.STATE_STOPPED) {
-					return newErrorStatus(ERROR_PREDELETE, Messages.errorCouldNotCleanStopFailed, null);
-				}
-				restart = true;
-			}
-				
-			// Delete the work directory
-			TomcatServerBehaviour tsb = (TomcatServerBehaviour)server.loadAdapter(
-					TomcatServerBehaviour.class, monitor);
-			try {
-				if (module != null) {
-					IWebModule webModule = (IWebModule)module.loadAdapter(IWebModule.class, null);
-					if (webModule != null) {
-						ITomcatWebModule tcWebModule = new WebModule(webModule.getContextRoot(), "", "", true);
-						status = tsb.cleanContextWorkDir(tcWebModule, null);
-					}
-					else {
-						return newErrorStatus(ERROR_DURINGDELETE, 
-								restart ? Messages.errorCantIdentifyWebAppWasRunning : Messages.errorCantIdentifyWebApp, null);
-					}
-				}
-				else {
-					status = tsb.cleanServerWorkDir(null);
-				}
-			} catch (CoreException ce) {
-				status = ce.getStatus();
-			}
-			if (!status.isOK()) {
-				return wrapErrorStatus(status, ERROR_DURINGDELETE,
-						restart ? Messages.errorErrorDuringCleanWasRunning : Messages.errorErrorDuringClean);
-			}
-				
-			if (restart) {
-				status = server.canStart(mode);
-				if (!status.isOK()) {
-					return wrapErrorStatus(status, ERROR_POSTDELETE, Messages.errorCleanCantRestart);
-				}
-				server.start(mode, listener);
-				if (!completionStatus.isOK()) {
-					return wrapErrorStatus(completionStatus, ERROR_POSTDELETE, Messages.errorCleanRestartFailed);
-				}
-			}
-			return status;
-		}
-	}
-	
-	private void captureServerState() {
-		state = server.getServerState();
-		if (state != IServer.STATE_STOPPED) {
-			mode = server.getMode();
-		}
-	}
-
-	protected IStatus newErrorStatus(int errorCode, String message, Throwable throwable) {
-		return new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID, errorCode,
-				message, throwable);
-	}
-	
-	protected IStatus wrapErrorStatus(IStatus status, int errorCode, String message) {
-		MultiStatus ms = new MultiStatus(TomcatUIPlugin.PLUGIN_ID, errorCode, message, null);
-		ms.add(status);
-		return ms;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ConfigurationPropertyTester.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ConfigurationPropertyTester.java
deleted file mode 100644
index 892b2d0..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ConfigurationPropertyTester.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.tomcat.ui.internal;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.wst.server.core.IServerAttributes;
-/**
- * 
- */
-public class ConfigurationPropertyTester extends PropertyTester {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-	 */
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		try {
-			IServerAttributes server = (IServerAttributes) receiver;
-			TomcatServer tomcatServer = (TomcatServer) server.loadAdapter(ITomcatServer.class, null);
-			if (tomcatServer != null)
-				return tomcatServer.getServerConfiguration() != null;
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java
deleted file mode 100644
index 4434286..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,50 +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.jst.server.tomcat.ui.internal;
-/**
- * Constant ids for context help.
- */
-public interface ContextIds {
-	public static final String SERVER_EDITOR = TomcatUIPlugin.PLUGIN_ID + ".teig0000";
-	public static final String SERVER_EDITOR_TEST_ENVIRONMENT = TomcatUIPlugin.PLUGIN_ID + ".teig0002";
-	public static final String SERVER_EDITOR_SECURE = TomcatUIPlugin.PLUGIN_ID + ".teig0004";
-	public static final String SERVER_EDITOR_DEBUG_MODE = TomcatUIPlugin.PLUGIN_ID + ".teig0006";
-
-	public static final String CONFIGURATION_EDITOR_WEBMODULES = TomcatUIPlugin.PLUGIN_ID + ".tecw0000";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecw0002";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_ADD_PROJECT = TomcatUIPlugin.PLUGIN_ID + ".tecw0004";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_ADD_EXTERNAL = TomcatUIPlugin.PLUGIN_ID + ".tecw0006";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_EDIT = TomcatUIPlugin.PLUGIN_ID + ".tecw0008";
-	public static final String CONFIGURATION_EDITOR_WEBMODULES_REMOVE = TomcatUIPlugin.PLUGIN_ID + ".tecw0010";
-
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG = TomcatUIPlugin.PLUGIN_ID + ".tdwm0000";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PROJECT = TomcatUIPlugin.PLUGIN_ID + ".tdpr0002";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PATH = TomcatUIPlugin.PLUGIN_ID + ".tdpr0004";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_DOCBASE = TomcatUIPlugin.PLUGIN_ID + ".tdpr0006";
-	public static final String CONFIGURATION_EDITOR_WEBMODULE_DIALOG_RELOAD = TomcatUIPlugin.PLUGIN_ID + ".tdpr0008";
-
-	public static final String CONFIGURATION_EDITOR_MAPPINGS = TomcatUIPlugin.PLUGIN_ID + ".tecm0000";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecm0002";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_ADD = TomcatUIPlugin.PLUGIN_ID + ".tecm0004";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_EDIT = TomcatUIPlugin.PLUGIN_ID + ".tecm0006";
-	public static final String CONFIGURATION_EDITOR_MAPPINGS_REMOVE = TomcatUIPlugin.PLUGIN_ID + ".tecm0008";
-
-	public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG = TomcatUIPlugin.PLUGIN_ID + ".tdmm0000";
-	public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG_TYPE = TomcatUIPlugin.PLUGIN_ID + ".tdmm0002";
-	public static final String CONFIGURATION_EDITOR_MAPPING_DIALOG_EXTENSION = TomcatUIPlugin.PLUGIN_ID + ".tdmm0004";
-
-	public static final String CONFIGURATION_EDITOR_PORTS = TomcatUIPlugin.PLUGIN_ID + ".tecp0000";
-	public static final String CONFIGURATION_EDITOR_PORTS_LIST = TomcatUIPlugin.PLUGIN_ID + ".tecp0002";
-		
-	public static final String RUNTIME_COMPOSITE = TomcatUIPlugin.PLUGIN_ID + ".twnr0000";
-
-	public static final String SERVER_CLEAN_WORK_DIR = TomcatUIPlugin.PLUGIN_ID + ".tvcp0000";
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.java
deleted file mode 100644
index ee6d542..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.java
+++ /dev/null
@@ -1,122 +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.jst.server.tomcat.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String wizardTitle;
-	public static String wizardDescription;
-	public static String runtimeName;
-	public static String installDir;
-	public static String browse;
-	public static String install;
-	public static String selectInstallDir;
-	public static String installedJRE;
-	public static String installedJREs;
-	public static String runtimeDefaultJRE;
-	public static String editorAdd;
-	public static String editorEdit;
-	public static String editorRemove;
-	public static String editorBrowse;
-	public static String errorMissingWebModule;
-	public static String configurationEditorMimeMappingsSection;
-	public static String configurationEditorMimeMappingsDescription;
-	public static String configurationEditorPortsSection;
-	public static String configurationEditorPortsDescription;
-	public static String configurationEditorPortNameColumn;
-	public static String configurationEditorPortValueColumn;
-	public static String configurationEditorWebModulesPageTitle;
-	public static String configurationEditorWebModulesSection;
-	public static String configurationEditorWebModulesDescription;
-	public static String configurationEditorPathColumn;
-	public static String configurationEditorDocBaseColumn;
-	public static String configurationEditorProjectColumn;
-	public static String configurationEditorReloadColumn;
-	public static String configurationEditorAddProjectModule;
-	public static String configurationEditorAddExternalModule;
-	public static String configurationEditorProjectMissing;
-	public static String configurationEditorReloadEnabled;
-	public static String configurationEditorReloadDisabled;
-	public static String configurationEditorMimeMapppingDialogTitleEdit;
-	public static String configurationEditorMimeMapppingDialogTitleAdd;
-	public static String configurationEditorMimeMapppingDialogMimeType;
-	public static String configurationEditorMimeMapppingDialogMimeExtension;
-	public static String serverEditorLocationsSection;
-	public static String serverEditorLocationsDescription;
-	public static String serverEditorLocationsDescription2;
-	public static String serverEditorGeneralSection;
-	public static String serverEditorGeneralDescription;
-	public static String serverEditorServerDirMetadata;
-	public static String serverEditorServerDirInstall;
-	public static String serverEditorServerDirCustom;
-	public static String serverEditorSetInternalServerDirLink;
-	public static String serverEditorSetInternalServerDirLink2;
-	public static String serverEditorSetInstallServerDirLink;
-	public static String serverEditorSetInstallServerDirLink2;
-	public static String serverEditorSetDefaultDeployDirLink;
-	public static String serverEditorSetDefaultDeployDirLink2;
-	public static String serverEditorServerDir;
-	public static String serverEditorDeployDir;
-	public static String serverEditorTestEnvironment;
-	public static String serverEditorNoPublish;
-	public static String serverEditorSeparateContextFiles;
-	public static String serverEditorSecure;
-	public static String serverEditorDebugMode;
-	public static String serverEditorNotSupported;
-	public static String serverEditorDoesNotModify;
-	public static String serverEditorTakesControl;
-	public static String errorServerMustBeStopped;
-	public static String errorServerDirIsRoot;
-	public static String errorServerDirUnderRoot;
-	public static String errorServerDirCustomNotMetadata;
-	public static String errorServerDirCustomNotInstall;
-	public static String errorDeployDirNotSpecified;
-	public static String serverEditorBrowseServerMessage;
-	public static String serverEditorBrowseDeployMessage;
-	public static String configurationEditorWebModuleDialogTitleEdit;
-	public static String configurationEditorWebModuleDialogTitleAdd;
-	public static String configurationEditorWebModuleDialogProjects;
-	public static String configurationEditorWebModuleDialogDocumentBase;
-	public static String configurationEditorWebModuleDialogSelectDirectory;
-	public static String configurationEditorWebModuleDialogPath;
-	public static String configurationEditorWebModuleDialogReloadEnabled;
-	public static String errorDefaultDialogTitle;
-	public static String confirmCleanWorkDirTitle;
-	public static String cleanServerStateChanging;
-	public static String cleanModuleWorkDir;
-	public static String cleanServerWorkDir;
-	public static String cleanServerRunning;
-	public static String cleanServerTask;
-	public static String errorCleanModuleTitle;
-	public static String errorCleanServerTitle;
-	public static String errorCouldNotCleanModule;
-	public static String errorCouldNotCleanServer;
-	public static String errorCouldNotCleanStateChange;
-	public static String errorCouldNotCleanCantStop;
-	public static String errorCouldNotCleanStopFailed;
-	public static String errorCleanFailedModule;
-	public static String errorCleanFailedServer;
-	public static String errorCantIdentifyWebApp;
-	public static String errorCantIdentifyWebAppWasRunning;
-	public static String errorErrorDuringClean;
-	public static String errorErrorDuringCleanWasRunning;
-	public static String errorCleanNoRestartModule;
-	public static String errorCleanNoRestartServer;
-	public static String errorCleanCantRestart;
-	public static String errorCleanRestartFailed;
-
-	static {
-		NLS.initializeMessages(TomcatUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.properties b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.properties
deleted file mode 100644
index 3247d4c..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Messages.properties
+++ /dev/null
@@ -1,151 +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
-###############################################################################
-
-# --------------- General UI ---------------
-
-runtimeName=Na&me:
-browse=B&rowse...
-install=Download and Ins&tall...
-installDir=Tomcat installation &directory:
-installedJRE=&JRE:
-installedJREs=&Installed JREs...
-selectInstallDir=Select Tomcat installation directory.
-runtimeDefaultJRE=Workbench default JRE
-
-# New Tomcat server wizard
-wizardTitle=Tomcat Server
-wizardDescription=Specify the installation directory
-
-# --------------- Editors ---------------
-
-# General text used in both editors
-editorRemove=Remove
-editorAdd=Add...
-editorEdit=Edit...
-editorBrowse=Browse...
-
-# --- Configuration Editor ---
-configurationEditorWebModulesPageTitle=Web Modules
-configurationEditorWebModulesSection=Web Modules
-configurationEditorWebModulesDescription=Configure the Web Modules on this server.
-configurationEditorMimeMappingsSection=MIME Mappings
-configurationEditorMimeMappingsDescription=Configure MIME type mappings.
-configurationEditorPortsSection=Ports
-configurationEditorPortsDescription=Modify the server ports.
-
-# Fields
-configurationEditorPortNameColumn=Port Name
-configurationEditorPortValueColumn=Port Number
-configurationEditorPathColumn=Path
-configurationEditorDocBaseColumn=Document Base
-configurationEditorProjectColumn=Module
-configurationEditorReloadColumn=Auto Reload
-configurationEditorProjectMissing={0} missing
-configurationEditorReloadEnabled=Enabled
-configurationEditorReloadDisabled=Disabled
-configurationEditorAddProjectModule=Add Web Module...
-configurationEditorAddExternalModule=Add External Web Module...
-
-# Add/Edit Mime Mapping dialog
-configurationEditorMimeMapppingDialogTitleEdit=Edit MIME Mapping
-configurationEditorMimeMapppingDialogTitleAdd=Add MIME Mapping
-configurationEditorMimeMapppingDialogMimeType=MIME &type:
-configurationEditorMimeMapppingDialogMimeExtension=MIME &extension:
-
-# Add/Edit Web Module dialog
-configurationEditorWebModuleDialogTitleEdit=Edit Web Module
-configurationEditorWebModuleDialogTitleAdd=Add Web Module
-configurationEditorWebModuleDialogProjects=&Modules:
-configurationEditorWebModuleDialogPath=P&ath:
-configurationEditorWebModuleDialogDocumentBase=&Document base:
-configurationEditorWebModuleDialogReloadEnabled=Auto r&eloading enabled
-configurationEditorWebModuleDialogSelectDirectory=Select the Web module directory.
-errorMissingWebModule=The Web module at the following location cannot be found: {0}.
-
-# --- Server Editor ---
-serverEditorLocationsSection=Server Locations
-serverEditorLocationsDescription=Specify the server and deploy paths. Server must be published with no modules present to make changes.
-serverEditorLocationsDescription2=Specify the server path (i.e. catalina.base) and deploy path. Server must be published with no modules present to make changes.
-serverEditorGeneralSection=Server Options
-serverEditorGeneralDescription=Enter settings for the server.
-
-# Link Fields 
-serverEditorSetInternalServerDirLink=Set server path to internally supplied location
-serverEditorSetInternalServerDirLink2=Set server path to internally supplied location (currently set)
-serverEditorSetInstallServerDirLink=Set server path to the location of the Tomcat installation
-serverEditorSetInstallServerDirLink2=Set server path to the location of the Tomcat installation (currently set)
-serverEditorSetDefaultDeployDirLink=Set deploy path to the default value
-serverEditorSetDefaultDeployDirLink2=Set deploy path to the default value (currently set)
-
-# Fields
-# Note: The argument for the following three strings will be the string for
-#       one of serverEditorDoesNotModify or serverEditorTakesControl or and empty string.
-serverEditorServerDirMetadata=Use workspace metadata {0}
-serverEditorServerDirInstall=Use Tomcat installation {0}
-serverEditorServerDirCustom=Use custom location {0}
-serverEditorServerDir=Server path:
-serverEditorDeployDir=Deploy path:
-serverEditorSecure=Enable security
-# Note: The argument for the following string will be the serverEditorNotSupported string or an empty string
-serverEditorDebugMode=Enable Tomcat debug logging {0}
-serverEditorTestEnvironment=Run modules directly from the workspace (do not modify the Tomcat installation)
-# Note: The argument for the following string will be the serverEditorNotSupported string or an empty string
-serverEditorNoPublish=Serve modules without publishing {0}
-serverEditorSeparateContextFiles=Publish module contexts to separate XML files {0}
-errorServerDirIsRoot=The server path may not be set to the the root of your workspace.
-errorServerDirUnderRoot=The server path may not be under the \"{0}\" folder of your workspace unless it is the workspace metadata location.
-# Note: The argument for the following string will be the string for serverEditorServerDirMetadata with a blank string for its argument
-errorServerDirCustomNotMetadata=Only the \"{0}\" selection may set the server path to the workspace metadata location.
-# Note: The argument for the following string will be the string for serverEditorServerDirInstall with a blank string for its argument
-errorServerDirCustomNotInstall=Only the \"{0}\" selection may set the server path to the Tomcat installation.
-errorDeployDirNotSpecified=A deploy path must be specified.
-serverEditorNotSupported=(not supported by this Tomcat version)
-serverEditorDoesNotModify=(does not modify Tomcat installation)
-serverEditorTakesControl=(takes control of Tomcat installation)
-errorServerMustBeStopped=The server must be stopped before a change to the \"{0}\" setting can be saved.
-
-# Browse for Server dialog
-serverEditorBrowseServerMessage=Select a server directory.
-
-# Browse for Deploy dialog
-serverEditorBrowseDeployMessage=Select a deploy directory.
-
-# --- Clean Work Directory ---
-confirmCleanWorkDirTitle=Confirm Clean
-cleanServerStateChanging=The state of {0} is in transition or unknown.  Try again when the server has reached a stable state.
-cleanModuleWorkDir=Clean work directory for module {0} on {1}.
-cleanServerWorkDir=Clean work directories for all Web applications on {0}.
-cleanServerRunning=The server must be stopped to clean the work directory.  Clicking OK will include stopping and restaring the server.
-cleanServerTask=Cleaning server work directory...
-
-# --- Error Strings ---
-errorDefaultDialogTitle=Tomcat Server Error
-
-# --- Clean Work Directory Errors ---
-errorCleanModuleTitle=Clean Module Work Directory Error
-errorCleanServerTitle=Clean Server Work Directory Error
-errorCouldNotCleanModule=Could not clean {0} work directory on {1}.
-errorCouldNotCleanServer=Could not clean work directory on {0}.
-errorCouldNotCleanStateChange=Clean aborted because the server changed state after confirmation dialog was displayed.
-errorCouldNotCleanCantStop="Server can not be stopped at this time.  Try again when the server is stopped or can be stopped.
-errorCouldNotCleanStopFailed=Server failed to stop.  Try again when the server is stopped or can be stopped.
-
-errorCleanFailedModule=Clean failed for {0} work directory on {1}.
-errorCleanFailedServer=Clean failed for work directory on {0}.
-errorCantIdentifyWebApp=Selected module could not be associated with a Web application on the server.
-errorCantIdentifyWebAppWasRunning=Selected module could not be associated with a Web application on the server.  Server will not be restarted.
-errorErrorDuringClean=An error occurred while cleaning the work directory.
-errorErrorDuringCleanWasRunning=An error occurred while cleaning the work directory.  Server will not be restarted.
-
-errorCleanNoRestartModule=Module {0} was successfully cleaned, but server is unable to restart.
-errorCleanNoRestartServer=Server {0} was successfully cleaned, but is unable to restart.
-errorCleanCantRestart=Server is unable to restart at this time.
-errorCleanRestartFailed=Server restart was not successful or did not complete in the expected amount of time.
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java
deleted file mode 100644
index cbe03c5..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.tomcat.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-/**
- * SWT Utility class.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp the component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java
deleted file mode 100644
index 4c6f725..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.tomcat.ui.internal;
-
-import org.eclipse.debug.ui.*;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-/**
- * A debug tab group for launching Tomcat. 
- */
-public class TomcatLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
-	/*
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[6];
-		tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.jst.server.tomcat" });
-		tabs[0].setLaunchConfigurationDialog(dialog);
-		tabs[1] = new JavaArgumentsTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		tabs[2] = new JavaClasspathTab();
-		tabs[2].setLaunchConfigurationDialog(dialog);
-		tabs[3] = new SourceLookupTab();
-		tabs[3].setLaunchConfigurationDialog(dialog);
-		tabs[4] = new EnvironmentTab();
-		tabs[4].setLaunchConfigurationDialog(dialog);
-		tabs[5] = new CommonTab();
-		tabs[5].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java
deleted file mode 100644
index 52b9a0c..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeComposite.java
+++ /dev/null
@@ -1,306 +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.jst.server.tomcat.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatRuntimeWorkingCopy;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.internal.IInstallableRuntime;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Wizard page to set the server install directory.
- */
-public class TomcatRuntimeComposite extends Composite {
-	protected IRuntimeWorkingCopy runtimeWC;
-	protected ITomcatRuntimeWorkingCopy runtime;
-	
-	protected IWizardHandle wizard;
-	
-	protected Text installDir;
-	protected Text name;
-	protected Combo combo;
-	protected List installedJREs;
-	protected String[] jreNames;
-
-	/**
-	 * TomcatRuntimeWizardPage constructor comment.
-	 * 
-	 * @param parent the parent composite
-	 * @param wizard the wizard handle
-	 */
-	protected TomcatRuntimeComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		
-		wizard.setTitle(Messages.wizardTitle);
-		wizard.setDescription(Messages.wizardDescription);
-		wizard.setImageDescriptor(TomcatUIPlugin.getImageDescriptor(TomcatUIPlugin.IMG_WIZ_TOMCAT));
-		
-		createControl();
-	}
-	
-	protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
-		if (newRuntime == null) {
-			runtimeWC = null;
-			runtime = null;
-		} else {
-			runtimeWC = newRuntime;
-			runtime = (ITomcatRuntimeWorkingCopy) newRuntime.loadAdapter(ITomcatRuntimeWorkingCopy.class, null);
-		}
-		
-		init();
-		validate();
-	}
-
-	/**
-	 * Provide a wizard page to change the Tomcat installation directory.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.RUNTIME_COMPOSITE);
-		
-		Label label = new Label(this, SWT.NONE);
-		label.setText(Messages.runtimeName);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		name = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		name.setLayoutData(data);
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setName(name.getText());
-				validate();
-			}
-		});
-	
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.installDir);
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-	
-		installDir = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		installDir.setLayoutData(data);
-		installDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setLocation(new Path(installDir.getText()));
-				validate();
-			}
-		});
-		
-		Button browse = SWTUtil.createButton(this, Messages.browse);
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(TomcatRuntimeComposite.this.getShell());
-				dialog.setMessage(Messages.selectInstallDir);
-				dialog.setFilterPath(installDir.getText());
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null)
-					installDir.setText(selectedDirectory);
-			}
-		});
-		
-		final IInstallableRuntime ir = ServerPlugin.findInstallableRuntime("org.eclipse.jst.server.timcat.runtime.32");
-		if (ir != null) {
-			label = new Label(this, SWT.NONE);
-			
-			Button install = SWTUtil.createButton(this, Messages.install);
-			install.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent se) {
-					DirectoryDialog dialog = new DirectoryDialog(TomcatRuntimeComposite.this.getShell());
-					dialog.setMessage(Messages.selectInstallDir);
-					dialog.setFilterPath(installDir.getText());
-					String selectedDirectory = dialog.open();
-					if (selectedDirectory != null) {
-						ir.install(new Path(selectedDirectory));
-						installDir.setText(selectedDirectory);
-					}
-				}
-			});
-		}
-		
-		updateJREs();
-		
-		// JDK location
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.installedJRE);
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		combo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setItems(jreNames);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		combo.setLayoutData(data);
-		
-		combo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				int sel = combo.getSelectionIndex();
-				IVMInstall vmInstall = null;
-				if (sel > 0)
-					vmInstall = (IVMInstall) installedJREs.get(sel - 1);
-				
-				runtime.setVMInstall(vmInstall);
-				validate();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		Button button = SWTUtil.createButton(this, Messages.installedJREs);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String currentVM = combo.getText();
-				if (showPreferencePage()) {
-					updateJREs();
-					combo.setItems(jreNames);
-					combo.setText(currentVM);
-					if (combo.getSelectionIndex() == -1)
-						combo.select(0);
-					validate();
-				}
-			}
-		});
-		
-		init();
-		validate();
-		
-		Dialog.applyDialogFont(this);
-		
-		name.forceFocus();
-	}
-
-	protected void updateJREs() {
-		// get all installed JVMs
-		installedJREs = new ArrayList();
-		IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
-		int size = vmInstallTypes.length;
-		for (int i = 0; i < size; i++) {
-			IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls();
-			int size2 = vmInstalls.length;
-			for (int j = 0; j < size2; j++) {
-				installedJREs.add(vmInstalls[j]);
-			}
-		}
-		
-		// get names
-		size = installedJREs.size();
-		jreNames = new String[size+1];
-		jreNames[0] = Messages.runtimeDefaultJRE;
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i+1] = vmInstall.getName();
-		}
-	}
-
-	protected boolean showPreferencePage() {
-		String id = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage";
-		
-		// should be using the following API, but it only allows a single preference page instance.
-		// see bug 168211 for details
-		//PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[] { id }, null);
-		//return (dialog.open() == Window.OK);		
-		
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode(id);
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		PreferenceDialog dialog = new PreferenceDialog(getShell(), manager2);
-		dialog.create();
-		return (dialog.open() == Window.OK);
-	}
-
-	protected void init() {
-		if (name == null || runtime == null)
-			return;
-		
-		if (runtimeWC.getName() != null)
-			name.setText(runtimeWC.getName());
-		else
-			name.setText("");
-		
-		if (runtimeWC.getLocation() != null)
-			installDir.setText(runtimeWC.getLocation().toOSString());
-		else
-			installDir.setText("");
-		
-		// set selection
-		if (runtime.isUsingDefaultJRE())
-			combo.select(0);
-		else {
-			boolean found = false;
-			int size = installedJREs.size();
-			for (int i = 0; i < size; i++) {
-				IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-				if (vmInstall.equals(runtime.getVMInstall())) {
-					combo.select(i + 1);
-					found = true;
-				}
-			}
-			if (!found)
-				combo.select(0);
-		}
-	}
-
-	protected void validate() {
-		if (runtime == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-		
-		IStatus status = runtimeWC.validate(null);
-		if (status == null || status.isOK())
-			wizard.setMessage(null, IMessageProvider.NONE);
-		else if (status.getSeverity() == IStatus.WARNING)
-			wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-		else
-			wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-		wizard.update();
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.java
deleted file mode 100644
index 57fd360..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatRuntimeWizardFragment.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.jst.server.tomcat.ui.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * 
- */
-public class TomcatRuntimeWizardFragment extends WizardFragment {
-	protected TomcatRuntimeComposite comp;
-
-	public TomcatRuntimeWizardFragment() {
-		// do nothing
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate(null);
-		return (status == null || status.getSeverity() != IStatus.ERROR);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.task.WizardFragment#createComposite()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new TomcatRuntimeComposite(parent, wizard);
-		return comp;
-	}
-
-	public void enter() {
-		if (comp != null) {
-			IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-			comp.setRuntime(runtime);
-		}
-	}
-
-	public void exit() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		IPath path = runtime.getLocation();
-		if (runtime.validate(null).getSeverity() != IStatus.ERROR)
-			TomcatPlugin.setPreference("location" + runtime.getRuntimeType().getId(), path.toString());
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java
deleted file mode 100644
index 7ba3bdc..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/TomcatUIPlugin.java
+++ /dev/null
@@ -1,177 +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.jst.server.tomcat.ui.internal;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * The actual Tomcat plugin. It allows the rest of the classes
- * to load images and get a handle to the desktop.
- */
-public class TomcatUIPlugin extends AbstractUIPlugin {
-	protected static TomcatUIPlugin singleton;
-
-	protected Map imageDescriptors = new HashMap();
-
-	// base url for icons
-	private static URL ICON_BASE_URL;
-
-	private static final String URL_OBJ = "obj16/";
-	private static final String URL_WIZBAN = "wizban/";
-
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.tomcat.ui";
-
-	public static final String IMG_WIZ_TOMCAT = "wizTomcat";
-
-	public static final String IMG_WEB_MODULE = "webModule";
-	public static final String IMG_MIME_MAPPING = "mimeMapping";
-	public static final String IMG_MIME_EXTENSION = "mimeExtension";
-	public static final String IMG_PORT = "port";
-	public static final String IMG_PROJECT_MISSING = "projectMissing";
-
-	public static final String PREF_TOMCAT32_INSTALL_DIR = "tomcat32install";
-	public static final String PREF_TOMCAT40_INSTALL_DIR = "tomcat40install";
-	public static final String PREF_TOMCAT41_INSTALL_DIR = "tomcat41install";
-	public static final String PREF_TOMCAT50_INSTALL_DIR = "tomcat50install";
-	public static final String PREF_JDK_INSTALL_DIR = "jdkinstall";
-
-	/**
-	 * TomcatUIPlugin constructor comment.
-	 */
-	public TomcatUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	protected ImageRegistry createImageRegistry() {
-		ImageRegistry registry = new ImageRegistry();
-		
-		registerImage(registry, IMG_WIZ_TOMCAT, URL_WIZBAN + "tomcat_wiz.png");
-		
-		registerImage(registry, IMG_WEB_MODULE, URL_OBJ + "web_module.gif");
-		registerImage(registry, IMG_MIME_MAPPING, URL_OBJ + "mime_mapping.gif");
-		registerImage(registry, IMG_MIME_EXTENSION, URL_OBJ + "mime_extension.gif");
-		registerImage(registry, IMG_PORT, URL_OBJ + "port.gif");
-		registerImage(registry, IMG_PROJECT_MISSING, URL_OBJ + "project_missing.gif");
-	
-		return registry;
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public static Image getImage(String key) {
-		return getInstance().getImageRegistry().get(key);
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		try {
-			getInstance().getImageRegistry();
-			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * @return org.eclipse.jst.server.tomcat.internal.TomcatUIPlugin
-	 */
-	public static TomcatUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param status org.eclipse.core.runtime.IStatus
-	 */
-	public static void log(IStatus status) {
-		getInstance().getLog().log(status);
-	}
-
-	/**
-	 * Convenience method to get a Display. 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;		
-	}	
-	
-	/**
-	 * Convenience method to display an error dialog.
-	 * 
-	 * @param title title for the dialog or null for default title
-	 * @param message primary message to display
-	 * @param status reason for the error
-	 */
-	public static void openError(final String title, final String message, final IStatus status) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				Shell shell = getShell();
-				ErrorDialog.openError(shell,
-						title != null ? title : Messages.errorDefaultDialogTitle,
-						message, status);
-			}
-		});
-	}
-	/**
-	 * Convenience method to get a shell
-	 *
-	 * @return Shell
-	 */
-	public static Shell getShell() {
-		return getStandardDisplay().getActiveShell();
-	}
-	
-	/**
-	 * Register an image with the registry.
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private void registerImage(ImageRegistry registry, String key, String partialURL) {
-		if (ICON_BASE_URL == null) {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = singleton.getBundle().getEntry(pathSuffix);
-		}
-
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			registry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error registering image", e);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java
deleted file mode 100644
index f57a875..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/Trace.java
+++ /dev/null
@@ -1,54 +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.jst.server.tomcat.ui.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static final byte CONFIG = 0;
-	public static final byte WARNING = 1;
-	public static final byte SEVERE = 2;
-	public static final byte FINEST = 3;
-	public static final byte FINER = 4;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!TomcatUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(TomcatUIPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/actions/CleanWorkDirAction.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/actions/CleanWorkDirAction.java
deleted file mode 100644
index b0f612b..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/actions/CleanWorkDirAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 SAS Institute, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Larry Isaacs - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.tomcat.ui.internal.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.server.tomcat.ui.internal.CleanWorkDirDialog;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
-
-/**
- * @author larry
- *
- */
-public class CleanWorkDirAction implements IObjectActionDelegate {
-	private IWorkbenchPart targetPart;
-	private IServer selectedServer;
-	private IModule selectedModule;
-
-	/**
-	 * Constructor for Action1.
-	 */
-	public CleanWorkDirAction() {
-		super();
-	}
-
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		this.targetPart = targetPart;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		CleanWorkDirDialog dlg = new CleanWorkDirDialog(targetPart.getSite().getShell(), selectedServer, selectedModule);
-		dlg.open();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		selectedServer = null;
-		selectedModule = null;
-		if (!selection.isEmpty()) {
-			if (selection instanceof IStructuredSelection) {
-				Object obj = ((IStructuredSelection)selection).getFirstElement();
-				if (obj instanceof IServer) {
-					selectedServer = (IServer)obj;
-				}
-				else if (obj instanceof ModuleServer) {
-					ModuleServer ms = (ModuleServer)obj;
-					selectedModule = ms.module[ms.module.length - 1];
-					if (selectedModule != null)
-						selectedServer = ms.server;
-				}
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java
deleted file mode 100644
index 5e97b10..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationMimeEditorSection.java
+++ /dev/null
@@ -1,419 +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.jst.server.tomcat.ui.internal.editor;
-
-import java.beans.*;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.command.*;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.Messages;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-/**
- * Tomcat configuration mime editor section.
- */
-public class ConfigurationMimeEditorSection extends ServerEditorSection {
-	protected TomcatConfiguration tomcatConfiguration;
-
-	protected boolean updating;
-
-	protected PropertyChangeListener listener;
-	
-	protected Tree mimeTypes;
-	protected int index = -1;
-	protected List mappings;
-	protected Button add;
-	protected Button remove;
-	protected Button edit;
-
-	/**
-	 * ConfigurationMimeEditorSection constructor comment.
-	 */
-	public ConfigurationMimeEditorSection() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (TomcatConfiguration.ADD_MAPPING_PROPERTY.equals(event.getPropertyName())) {
-					Integer in = (Integer) event.getOldValue();
-					MimeMapping mapping = (MimeMapping) event.getNewValue();
-					addMimeMapping(in.intValue(), mapping);
-				} else if (TomcatConfiguration.REMOVE_MAPPING_PROPERTY.equals(event.getPropertyName())) {
-					Integer in = (Integer) event.getNewValue();
-					removeMimeMapping(in.intValue());
-				} else if (TomcatConfiguration.MODIFY_MAPPING_PROPERTY.equals(event.getPropertyName())) {
-					Integer in = (Integer) event.getOldValue();
-					MimeMapping mapping = (MimeMapping) event.getNewValue();
-					modifyMimeMapping(in.intValue(), mapping);
-				}
-			}
-		};
-		tomcatConfiguration.addPropertyChangeListener(listener);
-	}
-
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR
-			| Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(Messages.configurationEditorMimeMappingsSection);
-		section.setDescription(Messages.configurationEditorMimeMappingsDescription);
-		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);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(data);
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_MAPPINGS);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		mimeTypes = toolkit.createTree(composite, SWT.V_SCROLL | SWT.SINGLE | SWT.H_SCROLL);
-		data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.heightHint = 200;
-		mimeTypes.setLayoutData(data);
-		whs.setHelp(mimeTypes, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_LIST);
-		
-		// add listener to the table
-		mimeTypes.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectMimeMapping();
-			}
-		});
-		
-		Composite buttonComp = toolkit.createComposite(composite);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonComp.setLayout(layout);
-		buttonComp.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
-		
-		add = toolkit.createButton(buttonComp, Messages.editorAdd, SWT.PUSH);
-		add.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		
-		add.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MimeMappingDialog dialog = new MimeMappingDialog(getShell());
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					execute(new AddMimeMappingCommand(tomcatConfiguration, dialog.getMimeMapping()));
-				}
-			}
-		});
-		whs.setHelp(add, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_ADD);
-		
-		edit = toolkit.createButton(buttonComp, Messages.editorEdit, SWT.PUSH);
-		edit.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		edit.setEnabled(false);
-		
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (index < 0)
-					return;
-				MimeMappingDialog dialog = new MimeMappingDialog(getShell(), (MimeMapping) tomcatConfiguration.getMimeMappings().get(index));
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					execute(new ModifyMimeMappingCommand(tomcatConfiguration, index, dialog.getMimeMapping()));
-				}
-			}
-		});
-		whs.setHelp(edit, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_EDIT);
-		
-		remove = toolkit.createButton(buttonComp, Messages.editorRemove, SWT.PUSH);
-		remove.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		remove.setEnabled(false);
-		
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (index < 0)
-					return;
-				execute(new RemoveMimeMappingCommand(tomcatConfiguration, index));
-				index = -1;
-				edit.setEnabled(false);
-				remove.setEnabled(false);
-			}
-		});
-		whs.setHelp(remove, ContextIds.CONFIGURATION_EDITOR_MAPPINGS_REMOVE);
-		
-		initialize();
-	}
-	
-	public void dispose() {
-		if (tomcatConfiguration != null)
-			tomcatConfiguration.removePropertyChangeListener(listener);
-	}
-
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		TomcatServer ts = (TomcatServer) server.getAdapter(TomcatServer.class);
-		try {
-			tomcatConfiguration = ts.getTomcatConfiguration();
-		} catch (Exception e) {
-			// ignore
-		}
-		addChangeListener();
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (mimeTypes == null)
-			return;
-
-		mimeTypes.removeAll();
-		
-		mappings = tomcatConfiguration.getMimeMappings();
-		
-		// sort mappings
-		int size = mappings.size();
-		int[] map = new int[size];
-		for (int i = 0; i < size; i++)
-			map[i] = i;
-		
-		for (int i = 0; i < size - 1; i++) {
-			for (int j = i + 1; j < size; j++) {
-				MimeMapping mappingA = (MimeMapping) mappings.get(map[i]);
-				MimeMapping mappingB = (MimeMapping) mappings.get(map[j]);
-				if (mappingA.getMimeType().compareTo(mappingB.getMimeType()) > 0 ||
-						((mappingA.getMimeType().equals(mappingB.getMimeType())) &&
-								mappingA.getExtension().compareTo(mappingB.getExtension()) > 0)) {
-					int temp = map[i];
-					map[i] = map[j];
-					map[j] = temp;
-				}
-			}
-		}
-		
-		// display them
-		Map hash = new HashMap();
-		
-		for (int i = 0; i < size; i++) {
-			MimeMapping mapping = (MimeMapping) mappings.get(map[i]);
-			// get parent node
-			TreeItem parent = (TreeItem) hash.get(mapping.getMimeType());
-			if (parent == null) {
-				parent = new TreeItem(mimeTypes, SWT.NONE);
-				parent.setText(mapping.getMimeType());
-				parent.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING));
-				hash.put(mapping.getMimeType(), parent);
-			}
-			
-			// add node
-			TreeItem item = new TreeItem(parent, SWT.NONE);
-			item.setText(mapping.getExtension());
-			item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION));
-			item.setData(new Integer(map[i]));
-		}
-		
-		if (readOnly) {
-			add.setEnabled(false);
-			edit.setEnabled(false);
-			remove.setEnabled(false);
-		} else {
-			add.setEnabled(true);
-			selectMimeMapping();
-		}
-	}
-	
-	/**
-	 * Add a mime mapping.
-	 * 
-	 * @param index2
-	 * @param map
-	 */
-	protected void addMimeMapping(int index2, MimeMapping map) {
-		mappings.add(index2, map);
-		
-		// correct all index numbers
-		int size = mimeTypes.getItemCount();
-		TreeItem[] parents = mimeTypes.getItems();
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			
-			int size2 = parent.getItemCount();
-			TreeItem[] children = parent.getItems();
-			for (int j = 0; j < size2; j++) {
-				Integer in = (Integer) children[j].getData();
-				if (in.intValue() >= index2)
-					children[j].setData(new Integer(in.intValue() + 1));
-			}
-		}
-		
-		// check if there is a parent. If so, just add a new child
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			if (parent.getText().equals(map.getMimeType())) {
-				TreeItem item = new TreeItem(parent, SWT.NONE);
-				item.setText(map.getExtension());
-				item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION));
-				item.setData(new Integer(index2));
-				mimeTypes.showItem(item);
-				return;
-			}
-		}
-		
-		// if not, add a new parent and child to the end
-		TreeItem parent = new TreeItem(mimeTypes, SWT.NONE);
-		parent.setText(map.getMimeType());
-		parent.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING));
-		
-		TreeItem item = new TreeItem(parent, SWT.NONE);
-		item.setText(map.getExtension());
-		item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_EXTENSION));
-		item.setData(new Integer(index2));
-		mimeTypes.showItem(item);
-	}
-	
-	/**
-	 * 
-	 * @param index2
-	 * @param map
-	 */
-	protected void modifyMimeMapping(int index2, MimeMapping map) {
-		MimeMapping oldMap = (MimeMapping) mappings.get(index2);
-		mappings.set(index2, map);
-		
-		int size = mimeTypes.getItemCount();
-		TreeItem[] parents = mimeTypes.getItems();
-		
-		if (oldMap.getMimeType().equals(map.getMimeType())) {
-			for (int i = 0; i < size; i++) {
-				TreeItem parent = parents[i];
-				
-				if (parent.getText().equals(map.getMimeType())) {
-					int size2 = parent.getItemCount();
-					TreeItem[] children = parent.getItems();
-					for (int j = 0; j < size2; j++) {
-						Integer in = (Integer) children[j].getData();
-						if (in.intValue() == index2) {
-							children[j].setText(map.getExtension());
-							children[j].setData(new Integer(index2));
-							mimeTypes.showItem(children[j]);
-							return;
-						}
-					}
-				}
-			}
-			return;
-		}
-		
-		// otherwise, let's try a remove and an add
-		removeMimeMapping(index2);
-		addMimeMapping(index2, map);
-	}
-	
-	/**
-	 * Remove the mime mapping at the given index.
-	 * 
-	 * @param index2
-	 */
-	protected void removeMimeMapping(int index2) {
-		mappings.remove(index2);
-		
-		// remove item
-		int size = mimeTypes.getItemCount();
-		TreeItem[] parents = mimeTypes.getItems();
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			
-			int size2 = parent.getItemCount();
-			TreeItem[] children = parent.getItems();
-			for (int j = 0; j < size2; j++) {
-				Integer in = (Integer) children[j].getData();
-				if (in.intValue() == index2) {
-					children[j].dispose();
-					if (size2 == 1)
-						parent.dispose();
-					i += size;
-					j += size2;
-				}
-			}
-		}
-		
-		// correct all index numbers
-		size = mimeTypes.getItemCount();
-		parents = mimeTypes.getItems();
-		for (int i = 0; i < size; i++) {
-			TreeItem parent = parents[i];
-			
-			int size2 = parent.getItemCount();
-			TreeItem[] children = parent.getItems();
-			for (int j = 0; j < size2; j++) {
-				Integer in = (Integer) children[j].getData();
-				if (in.intValue() > index2)
-					children[j].setData(new Integer(in.intValue() - 1));
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void selectMimeMapping() {
-		if (readOnly)
-			return;
-
-		try {
-			TreeItem item = mimeTypes.getSelection()[0];
-			Integer in = (Integer) item.getData();
-			if (in == null) {
-				index = -1;
-				remove.setEnabled(false);
-				edit.setEnabled(false);
-				return;
-			}
-			index = in.intValue();
-			
-			remove.setEnabled(true);
-			edit.setEnabled(true);
-		} catch (Exception e) {
-			index = -1;
-			remove.setEnabled(false);
-			edit.setEnabled(false);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java
deleted file mode 100644
index fbbf464..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationPortEditorSection.java
+++ /dev/null
@@ -1,248 +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.jst.server.tomcat.ui.internal.editor;
-
-import java.beans.*;
-import java.util.Iterator;
-
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.ui.editor.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.command.*;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.Messages;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-/**
- * Tomcat configuration port editor page.
- */
-public class ConfigurationPortEditorSection extends ServerEditorSection {
-	protected TomcatConfiguration tomcatConfiguration;
-
-	protected boolean updating;
-
-	protected Table ports;
-	protected TableViewer viewer;
-
-	protected PropertyChangeListener listener;
-
-	/**
-	 * ConfigurationPortEditorSection constructor comment.
-	 */
-	public ConfigurationPortEditorSection() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (TomcatConfiguration.MODIFY_PORT_PROPERTY.equals(event.getPropertyName())) {
-					String id = (String) event.getOldValue();
-					Integer i = (Integer) event.getNewValue();
-					changePortNumber(id, i.intValue());
-				}
-			}
-		};
-		tomcatConfiguration.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * 
-	 * @param id java.lang.String
-	 * @param port int
-	 */
-	protected void changePortNumber(String id, int port) {
-		TableItem[] items = ports.getItems();
-		int size = items.length;
-		for (int i = 0; i < size; i++) {
-			ServerPort sp = (ServerPort) items[i].getData();
-			if (sp.getId().equals(id)) {
-				items[i].setData(new ServerPort(id, sp.getName(), port, sp.getProtocol()));
-				items[i].setText(1, port + "");
-				/*if (i == selection) {
-					selectPort();
-				}*/
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 *
-	 * @param parent the parent control
-	 */
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
-			| ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(Messages.configurationEditorPortsSection);
-		section.setDescription(Messages.configurationEditorPortsDescription);
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		
-		// ports
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 8;
-		layout.marginWidth = 8;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.FILL_HORIZONTAL));
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_PORTS);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-
-		ports = toolkit.createTable(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
-		ports.setHeaderVisible(true);
-		ports.setLinesVisible(true);
-		whs.setHelp(ports, ContextIds.CONFIGURATION_EDITOR_PORTS_LIST);
-		
-		TableLayout tableLayout = new TableLayout();
-	
-		TableColumn col = new TableColumn(ports, SWT.NONE);
-		col.setText(Messages.configurationEditorPortNameColumn);
-		ColumnWeightData colData = new ColumnWeightData(15, 150, true);
-		tableLayout.addColumnData(colData);
-
-		col = new TableColumn(ports, SWT.NONE);
-		col.setText(Messages.configurationEditorPortValueColumn);
-		colData = new ColumnWeightData(8, 80, true);
-		tableLayout.addColumnData(colData);
-
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
-		data.widthHint = 230;
-		data.heightHint = 100;
-		ports.setLayoutData(data);
-		ports.setLayout(tableLayout);
-	
-		viewer = new TableViewer(ports);
-		viewer.setColumnProperties(new String[] {"name", "port"});
-
-		initialize();
-	}
-
-	protected void setupPortEditors() {
-		viewer.setCellEditors(new CellEditor[] {null, new TextCellEditor(ports)});
-	
-		ICellModifier cellModifier = new ICellModifier() {
-			public Object getValue(Object element, String property) {
-				ServerPort sp = (ServerPort) element;
-				if (sp.getPort() < 0)
-					return "-";
-				return sp.getPort() + "";
-			}
-	
-			public boolean canModify(Object element, String property) {
-				if ("port".equals(property))
-					return true;
-				
-				return false;
-			}
-	
-			public void modify(Object element, String property, Object value) {
-				try {
-					Item item = (Item) element;
-					ServerPort sp = (ServerPort) item.getData();
-					int port = Integer.parseInt((String) value);
-					execute(new ModifyPortCommand(tomcatConfiguration, sp.getId(), port));
-				} catch (Exception ex) {
-					// ignore
-				}
-			}
-		};
-		viewer.setCellModifier(cellModifier);
-		
-		// preselect second column (Windows-only)
-		String os = System.getProperty("os.name");
-		if (os != null && os.toLowerCase().indexOf("win") >= 0) {
-			ports.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					try {
-						int n = ports.getSelectionIndex();
-						viewer.editElement(ports.getItem(n).getData(), 1);
-					} catch (Exception e) {
-						// ignore
-					}
-				}
-			});
-		}
-	}
-	
-	public void dispose() {
-		if (tomcatConfiguration != null)
-			tomcatConfiguration.removePropertyChangeListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		TomcatServer ts = (TomcatServer) server.getAdapter(TomcatServer.class);
-		try {
-			tomcatConfiguration = ts.getTomcatConfiguration();
-		} catch (Exception e) {
-			// ignore
-		}
-		addChangeListener();
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (ports == null)
-			return;
-
-		ports.removeAll();
-
-		Iterator iterator = tomcatConfiguration.getServerPorts().iterator();
-		while (iterator.hasNext()) {
-			ServerPort port = (ServerPort) iterator.next();
-			TableItem item = new TableItem(ports, SWT.NONE);
-			String portStr = "-";
-			if (port.getPort() >= 0)
-				portStr = port.getPort() + ""; 
-			String[] s = new String[] {port.getName(), portStr};
-			item.setText(s);
-			item.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PORT));
-			item.setData(port);
-		}
-		
-		if (readOnly) {
-			viewer.setCellEditors(new CellEditor[] {null, null});
-			viewer.setCellModifier(null);
-		} else {
-			setupPortEditors();
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java
deleted file mode 100644
index 2507f2a..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ConfigurationWebModuleEditorPart.java
+++ /dev/null
@@ -1,434 +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.jst.server.tomcat.ui.internal.editor;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.io.File;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.WebModule;
-import org.eclipse.jst.server.tomcat.core.internal.command.AddModuleCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.AddWebModuleCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.ModifyWebModuleCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.RemoveModuleCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.RemoveWebModuleCommand;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.Messages;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-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.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.editor.ServerEditorPart;
-/**
- * Tomcat configuration web module editor page.
- */
-public class ConfigurationWebModuleEditorPart extends ServerEditorPart {
-	protected ITomcatServerWorkingCopy server2;
-	protected TomcatConfiguration configuration;
-
-	protected Table webAppTable;
-	protected int selection = -1;
-	protected Button addProject;
-	protected Button addExtProject;
-	protected Button remove;
-	protected Button edit;
-
-	protected PropertyChangeListener listener;
-
-	/**
-	 * ConfigurationWebModuleEditorPart constructor comment.
-	 */
-	public ConfigurationWebModuleEditorPart() {
-		super();
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (TomcatConfiguration.MODIFY_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) {
-					initialize();
-				} else if (TomcatConfiguration.ADD_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) {
-					initialize();
-				} else if (TomcatConfiguration.REMOVE_WEB_MODULE_PROPERTY.equals(event.getPropertyName())) {
-					initialize();
-				}
-			}
-		};
-		configuration.addPropertyChangeListener(listener);
-	}
-
-	/**
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		ScrolledForm form = toolkit.createScrolledForm(parent);
-		toolkit.decorateFormHeading(form.getForm());
-		form.setText(Messages.configurationEditorWebModulesPageTitle);
-		form.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_WEB_MODULE));
-		GridLayout layout = new GridLayout();
-		layout.marginTop = 6;
-		layout.marginLeft = 6;
-		form.getBody().setLayout(layout);
-		
-		Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
-		section.setText(Messages.configurationEditorWebModulesSection);
-		section.setDescription(Messages.configurationEditorWebModulesDescription);
-		section.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Composite composite = toolkit.createComposite(section);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_WEBMODULES);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		webAppTable = toolkit.createTable(composite, SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
-		webAppTable.setHeaderVisible(true);
-		webAppTable.setLinesVisible(true);
-		whs.setHelp(webAppTable, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_LIST);
-		//toolkit.paintBordersFor(webAppTable);
-		
-		TableLayout tableLayout = new TableLayout();
-	
-		TableColumn col = new TableColumn(webAppTable, SWT.NONE);
-		col.setText(Messages.configurationEditorPathColumn);
-		ColumnWeightData colData = new ColumnWeightData(8, 85, true);
-		tableLayout.addColumnData(colData);
-	
-		TableColumn col2 = new TableColumn(webAppTable, SWT.NONE);
-		col2.setText(Messages.configurationEditorDocBaseColumn);
-		colData = new ColumnWeightData(13, 135, true);
-		tableLayout.addColumnData(colData);
-	
-		TableColumn col3 = new TableColumn(webAppTable, SWT.NONE);
-		col3.setText(Messages.configurationEditorProjectColumn);
-		colData = new ColumnWeightData(8, 85, true);
-		tableLayout.addColumnData(colData);
-	
-		TableColumn col4 = new TableColumn(webAppTable, SWT.NONE);
-		col4.setText(Messages.configurationEditorReloadColumn);
-		colData = new ColumnWeightData(7, 75, true);
-		tableLayout.addColumnData(colData);
-		
-		webAppTable.setLayout(tableLayout);
-	
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 450;
-		data.heightHint = 120;
-		webAppTable.setLayoutData(data);
-		webAppTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectWebApp();
-			}
-		});
-	
-		Composite rightPanel = toolkit.createComposite(composite);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		rightPanel.setLayout(layout);
-		data = new GridData();
-		rightPanel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
-		//toolkit.paintBordersFor(rightPanel);
-	
-		// buttons still to add:
-		// add project, add external module, remove module
-		addProject = toolkit.createButton(rightPanel, Messages.configurationEditorAddProjectModule, SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		addProject.setLayoutData(data);
-		whs.setHelp(addProject, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_ADD_PROJECT);
-	
-		// disable the add project module button if there are no
-		// web projects in the workbench
-		if (!canAddWebModule())
-			addProject.setEnabled(false);
-		else {
-			addProject.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, true);
-					dialog.open();
-					if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-						execute(new AddModuleCommand(getServer(), dialog.module4));
-					}
-				}
-			});
-		}
-	
-		addExtProject = toolkit.createButton(rightPanel, Messages.configurationEditorAddExternalModule, SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		addExtProject.setLayoutData(data);
-		addExtProject.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, false);
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					execute(new AddWebModuleCommand(configuration, dialog.getWebModule()));
-				}
-			}
-		});
-		whs.setHelp(addExtProject, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_ADD_EXTERNAL);
-		
-		edit = toolkit.createButton(rightPanel, Messages.editorEdit, SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		edit.setLayoutData(data);
-		edit.setEnabled(false);
-		edit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (selection < 0)
-					return;
-				WebModule module = (WebModule) configuration.getWebModules().get(selection);
-				WebModuleDialog dialog = new WebModuleDialog(getEditorSite().getShell(), getServer(), server2, configuration, module);
-				dialog.open();
-				if (dialog.getReturnCode() == IDialogConstants.OK_ID) {
-					execute(new ModifyWebModuleCommand(configuration, selection, dialog.getWebModule()));
-				}
-			}
-		});
-		whs.setHelp(edit, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_EDIT);
-	
-		remove = toolkit.createButton(rightPanel, Messages.editorRemove, SWT.PUSH);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		remove.setLayoutData(data);
-		remove.setEnabled(false);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (selection < 0)
-					return;
-				TableItem item = webAppTable.getItem(selection);
-				if (item.getData() != null) {
-					IModule module = (IModule) item.getData();
-					execute(new RemoveModuleCommand(getServer(), module));
-				} else {
-					execute(new RemoveWebModuleCommand(configuration, selection));
-				}
-				remove.setEnabled(false);
-				edit.setEnabled(false);
-				selection = -1;
-			}
-		});
-		whs.setHelp(remove, ContextIds.CONFIGURATION_EDITOR_WEBMODULES_REMOVE);
-		
-		form.setContent(section);
-		form.reflow(true);
-		
-		initialize();
-	}
-
-	protected boolean canAddWebModule() {
-		IModule[] modules = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes());
-		if (modules != null) {
-			int size = modules.length;
-			for (int i = 0; i < size; i++) {
-				IWebModule webModule = (IWebModule) modules[i].loadAdapter(IWebModule.class, null);
-				if (webModule != null) {
-					IStatus status = server.canModifyModules(new IModule[] { modules[i] }, null, null);
-					if (status != null && status.isOK())
-						return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public void dispose() {
-		super.dispose();
-		
-		if (configuration != null)
-			configuration.removePropertyChangeListener(listener);
-	}
-
-	/* (non-Javadoc)
-	 * Initializes the editor part with a site and input.
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		TomcatServer ts = (TomcatServer) server.loadAdapter(TomcatServer.class, null);
-		try {
-			configuration = ts.getTomcatConfiguration();
-		} catch (Exception e) {
-			// ignore
-		}
-		if (configuration != null)
-			addChangeListener();
-		
-		if (server != null)
-			server2 = (ITomcatServerWorkingCopy) server.loadAdapter(ITomcatServerWorkingCopy.class, null);
-		
-		initialize();
-	}
-
-	/**
-	 * 
-	 */
-	protected void initialize() {
-		if (webAppTable == null)
-			return;
-
-		webAppTable.removeAll();
-		setErrorMessage(null);
-		
-		ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-		List list = configuration.getWebModules();
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			WebModule module = (WebModule) iterator.next();
-			TableItem item = new TableItem(webAppTable, SWT.NONE);
-			
-			String memento = module.getMemento();
-			String projectName = "";
-			Image projectImage = null;
-			if (memento != null && memento.length() > 0) {
-				projectName = NLS.bind(Messages.configurationEditorProjectMissing, new String[] {memento});
-				projectImage = TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PROJECT_MISSING);
-				IModule module2 = ServerUtil.getModule(memento);
-				if (module2 != null) {
-					projectName = labelProvider.getText(module2);
-					projectImage = labelProvider.getImage(module2);
-					item.setData(module2);
-				}
-			}
-			
-			String reload = module.isReloadable() ? Messages.configurationEditorReloadEnabled : Messages.configurationEditorReloadDisabled;
-			String[] s = new String[] {module.getPath(), module.getDocumentBase(), projectName, reload};
-			item.setText(s);
-			item.setImage(0, TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_WEB_MODULE));
-			if (projectImage != null)
-				item.setImage(2, projectImage);
-			
-			if (!isDocumentBaseValid(module.getDocumentBase())) {
-				item.setImage(1, TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PROJECT_MISSING));
-				setErrorMessage(NLS.bind(Messages.errorMissingWebModule, module.getDocumentBase()));
-			}
-		}
-		labelProvider = null;
-		
-		if (readOnly) {
-			addProject.setEnabled(false);
-			addExtProject.setEnabled(false);
-			edit.setEnabled(false);
-			remove.setEnabled(false);
-		} else {
-			addProject.setEnabled(canAddWebModule());
-			addExtProject.setEnabled(true);
-		}
-	}
-
-	/**
-	 * 
-	 */
-	protected void selectWebApp() {
-		if (readOnly)
-			return;
-
-		try {
-			selection = webAppTable.getSelectionIndex();
-			remove.setEnabled(true);
-			edit.setEnabled(true);
-		} catch (Exception e) {
-			selection = -1;
-			remove.setEnabled(false);
-			edit.setEnabled(false);
-		}
-	}
-	
-	protected boolean isDocumentBaseValid(String s) {
-		if (s == null || s.length() < 2)
-			return true;
-		
-		// check absolute path
-		File f = new File(s);
-		if (f.exists())
-			return true;
-		
-		// check workspace
-		try {
-			if (ResourcesPlugin.getWorkspace().getRoot().getProject(s).exists())
-				return true;
-		} catch (Exception e) {
-			// bad path
-		}
-		
-		if (s.startsWith(configuration.getDocBasePrefix())) {
-			try {
-				String t = s.substring(configuration.getDocBasePrefix().length());
-				if (ResourcesPlugin.getWorkspace().getRoot().getProject(t).exists())
-					return true;
-			} catch (Exception e) {
-				// bad path
-			}
-		}
-		
-		// check server relative path
-		try {
-			f = server.getRuntime().getLocation().append(s).toFile();
-			if (f.exists())
-				return true;
-		} catch (Exception e) {
-			// bad path
-		}
-		
-		return false;
-	}
-	
-	/*
-	 * @see IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (webAppTable != null)
-			webAppTable.setFocus();
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java
deleted file mode 100644
index cf65ff8..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/MimeMappingDialog.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.tomcat.ui.internal.editor;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jst.server.tomcat.core.internal.MimeMapping;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.Messages;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-/**
- * Dialog to add or modify mime mappings.
- */
-public class MimeMappingDialog extends Dialog {
-	protected MimeMapping map;
-	protected boolean isEdit;
-
-	/**
-	 * MimeMappingDialog constructor comment.
-	 * @param parentShell org.eclipse.swt.widgets.Shell
-	 */
-	public MimeMappingDialog(Shell parentShell) {
-		this(parentShell, new MimeMapping("", ""));
-		isEdit = false;
-	}
-
-	/**
-	 * MimeMappingDialog constructor.
-	 * 
-	 * @param parentShell a shell
-	 * @param map a mime mapping
-	 */
-	public MimeMappingDialog(Shell parentShell, MimeMapping map) {
-		super(parentShell);
-		this.map = map;
-		isEdit = true;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setImage(TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_MIME_MAPPING));
-		if (isEdit)
-			newShell.setText(Messages.configurationEditorMimeMapppingDialogTitleEdit);
-		else
-			newShell.setText(Messages.configurationEditorMimeMapppingDialogTitleAdd);
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param 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.numColumns = 2;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG);
-	
-		new Label(composite, SWT.NONE).setText(Messages.configurationEditorMimeMapppingDialogMimeType);
-		final Text type = new Text(composite, SWT.BORDER);
-		GridData data = new GridData();
-		data.widthHint = 150;
-		type.setLayoutData(data);
-		type.setText(map.getMimeType());
-		type.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				map = new MimeMapping(map.getExtension(), type.getText());
-				validate();
-			}
-		});
-		whs.setHelp(type, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG_TYPE);
-	
-		new Label(composite, SWT.NONE).setText(Messages.configurationEditorMimeMapppingDialogMimeExtension);
-		final Text extension = new Text(composite, SWT.BORDER);
-		data = new GridData();
-		data.widthHint = 150;
-		extension.setLayoutData(data);
-		extension.setText(map.getExtension());
-		extension.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				map = new MimeMapping(extension.getText(), map.getMimeType());
-				validate();
-			}
-		});
-		whs.setHelp(extension, ContextIds.CONFIGURATION_EDITOR_MAPPING_DIALOG_EXTENSION);
-		
-		Dialog.applyDialogFont(composite);
-	
-		return composite;
-	}
-	
-	protected Control createButtonBar(Composite parent) {
-		Control control = super.createButtonBar(parent);
-		validate();
-
-		return control;
-	}
-
-	protected void validate() {
-		boolean ok = true;
-		if (map.getExtension() == null || map.getExtension().length() < 1)
-			ok = false;
-		if (map.getMimeType() == null || map.getMimeType().length() < 1)
-			ok = false;
-		getButton(IDialogConstants.OK_ID).setEnabled(ok);
-	}
-
-	/**
-	 * Return the mime mapping.
-	 *
-	 * @return org.eclipse.jst.server.tomcat.MimeMapping
-	 */
-	public MimeMapping getMimeMapping() {
-		return map;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java
deleted file mode 100644
index 36d2965..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerGeneralEditorSection.java
+++ /dev/null
@@ -1,307 +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.jst.server.tomcat.ui.internal.editor;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatVersionHandler;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetDebugModeCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetSecureCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetSaveSeparateContextFilesCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetServeModulesWithoutPublishCommand;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.Messages;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-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.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.PublishServerJob;
-import org.eclipse.wst.server.ui.editor.ServerEditorSection;
-/**
- * Tomcat server general editor page.
- */
-public class ServerGeneralEditorSection extends ServerEditorSection {
-	protected TomcatServer tomcatServer;
-
-	protected Button secure;
-	protected Button debug;
-	protected Button noPublish;
-	protected Button separateContextFiles;
-	protected boolean updating;
-
-	protected PropertyChangeListener listener;
-	
-	protected boolean noPublishChanged;
-	protected boolean separateContextFilesChanged;
-
-	/**
-	 * ServerGeneralEditorPart constructor comment.
-	 */
-	public ServerGeneralEditorSection() {
-		// do nothing
-	}
-
-	/**
-	 * 
-	 */
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (updating)
-					return;
-				updating = true;
-				if (TomcatServer.PROPERTY_SECURE.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					ServerGeneralEditorSection.this.secure.setSelection(b.booleanValue());
-				} else if (TomcatServer.PROPERTY_DEBUG.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					ServerGeneralEditorSection.this.debug.setSelection(b.booleanValue());
-				} else if (ITomcatServer.PROPERTY_SERVE_MODULES_WITHOUT_PUBLISH.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					ServerGeneralEditorSection.this.noPublish.setSelection(b.booleanValue());
-					// Indicate this setting has changed
-					noPublishChanged = true;
-				} else if (ITomcatServer.PROPERTY_SAVE_SEPARATE_CONTEXT_FILES.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					ServerGeneralEditorSection.this.separateContextFiles.setSelection(b.booleanValue());
-					// Indicate this setting has changed
-					separateContextFilesChanged = true;
-				}
-				updating = false;
-			}
-		};
-		server.addPropertyChangeListener(listener);
-	}
-	
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 *
-	 * @param parent the parent control
-	 */
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
-			| ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(Messages.serverEditorGeneralSection);
-		section.setDescription(Messages.serverEditorGeneralDescription);
-		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 = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.SERVER_EDITOR);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		// serve modules without publish
-		noPublish = toolkit.createButton(composite, NLS.bind(Messages.serverEditorNoPublish, ""), SWT.CHECK);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		noPublish.setLayoutData(data);
-		noPublish.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new SetServeModulesWithoutPublishCommand(tomcatServer, noPublish.getSelection()));
-				// Indicate this setting has changed
-				noPublishChanged = true;
-				updating = false;
-			}
-		});
-		// TODO Address help
-//		whs.setHelp(noPublish, ContextIds.SERVER_EDITOR_SECURE);
-
-		// save separate context XML files
-		separateContextFiles = toolkit.createButton(composite, NLS.bind(Messages.serverEditorSeparateContextFiles, ""), SWT.CHECK);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		separateContextFiles.setLayoutData(data);
-		separateContextFiles.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new SetSaveSeparateContextFilesCommand(tomcatServer, separateContextFiles.getSelection()));
-				// Indicate this setting has changed
-				separateContextFilesChanged = true;
-				updating = false;
-			}
-		});
-		// TODO Address help
-//		whs.setHelp(separateContextFiles, ContextIds.SERVER_EDITOR_SECURE);
-		
-		// security
-		secure = toolkit.createButton(composite, Messages.serverEditorSecure, SWT.CHECK);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		secure.setLayoutData(data);
-		secure.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new SetSecureCommand(tomcatServer, secure.getSelection()));
-				updating = false;
-			}
-		});
-		whs.setHelp(secure, ContextIds.SERVER_EDITOR_SECURE);
-	
-		// debug mode
-		debug = toolkit.createButton(composite, NLS.bind(Messages.serverEditorDebugMode, ""), SWT.CHECK);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		debug.setLayoutData(data);
-		debug.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new SetDebugModeCommand(tomcatServer, debug.getSelection()));
-				updating = false;
-			}
-		});
-		whs.setHelp(debug, ContextIds.SERVER_EDITOR_DEBUG_MODE);
-	
-		initialize();
-	}
-
-	/**
-	 * @see ServerEditorSection#dispose()
-	 */
-	public void dispose() {
-		if (server != null)
-			server.removePropertyChangeListener(listener);
-	}
-
-	/**
-	 * @see ServerEditorSection#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		if (server != null) {
-			tomcatServer = (TomcatServer) server.loadAdapter(TomcatServer.class, null);
-			addChangeListener();
-		}
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (secure == null || tomcatServer == null)
-			return;
-		updating = true;
-		ITomcatVersionHandler tvh = tomcatServer.getTomcatVersionHandler();
-		
-		boolean supported = tvh.supportsServeModulesWithoutPublish();
-		String label = NLS.bind(Messages.serverEditorNoPublish,
-				supported ? "" : Messages.serverEditorNotSupported);
-		noPublish.setText(label);
-		noPublish.setSelection(tomcatServer.isServeModulesWithoutPublish());
-		if (readOnly || !supported)
-			noPublish.setEnabled(false);
-		else
-			noPublish.setEnabled(true);
-
-		supported = tvh.supportsSeparateContextFiles();
-		label = NLS.bind(Messages.serverEditorSeparateContextFiles,
-				supported ? "" : Messages.serverEditorNotSupported);
-		separateContextFiles.setText(label);
-		separateContextFiles.setSelection(tomcatServer.isSaveSeparateContextFiles());
-		if (readOnly || !supported)
-			separateContextFiles.setEnabled(false);
-		else
-			separateContextFiles.setEnabled(true);
-
-		secure.setSelection(tomcatServer.isSecure());
-		
-		supported = tvh.supportsDebugArgument();
-		label = NLS.bind(Messages.serverEditorDebugMode,
-				supported ? "" : Messages.serverEditorNotSupported);
-		debug.setText(label);
-		if (readOnly || !supported)
-			debug.setEnabled(false);
-		else {
-			debug.setEnabled(true);
-			debug.setSelection(tomcatServer.isDebug());
-		}
-		
-		if (readOnly)
-			secure.setEnabled(false);
-		else
-			secure.setEnabled(true);
-		
-		updating = false;
-	}
-
-	/**
-	 * @see ServerEditorSection#getSaveStatus()
-	 */
-	public IStatus[] getSaveStatus() {
-		// If serve modules without publishing has changed, request clean publish to be safe
-		if (noPublishChanged) {
-			// If server is running, abort the save since clean publish won't succeed
-			if (tomcatServer.getServer().getServerState() != IServer.STATE_STOPPED) {
-				return new IStatus [] {
-						new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID,
-								NLS.bind(Messages.errorServerMustBeStopped,
-										NLS.bind(Messages.serverEditorNoPublish, "").trim()))
-				};
-			}
-			// Force a clean publish
-			PublishServerJob publishJob = new PublishServerJob(tomcatServer.getServer(), IServer.PUBLISH_CLEAN, false);
-			publishJob.schedule();
-			noPublishChanged = false;
-		}
-		if (separateContextFilesChanged) {
-			// If server is running, abort the save since contexts will be moving
-			if (tomcatServer.getServer().getServerState() != IServer.STATE_STOPPED) {
-				return new IStatus [] {
-						new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID,
-								NLS.bind(Messages.errorServerMustBeStopped,
-										NLS.bind(Messages.serverEditorSeparateContextFiles, "").trim()))
-				};
-			}
-		}
-		// use default implementation to return success
-		return super.getSaveStatus();
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerLocationEditorSection.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerLocationEditorSection.java
deleted file mode 100644
index 3f051a2..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/ServerLocationEditorSection.java
+++ /dev/null
@@ -1,599 +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.jst.server.tomcat.ui.internal.editor;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServerWorkingCopy;
-import org.eclipse.jst.server.tomcat.core.internal.TomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetDeployDirectoryCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetInstanceDirectoryCommand;
-import org.eclipse.jst.server.tomcat.core.internal.command.SetTestEnvironmentCommand;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.Messages;
-import org.eclipse.jst.server.tomcat.ui.internal.TomcatUIPlugin;
-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.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.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.server.core.IPublishListener;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.util.PublishAdapter;
-import org.eclipse.wst.server.ui.editor.ServerEditorSection;
-/**
- * Tomcat server general editor page.
- */
-public class ServerLocationEditorSection extends ServerEditorSection {
-	protected Section section;
-	protected TomcatServer tomcatServer;
-
-	protected Hyperlink setDefaultDeployDir;
-	
-	protected boolean defaultDeployDirIsSet;
-	
-	protected Button serverDirMetadata;
-	protected Button serverDirInstall;
-	protected Button serverDirCustom;
-	
-	protected Text serverDir;
-	protected Button serverDirBrowse;
-	protected Text deployDir;
-	protected Button deployDirBrowse;
-	protected boolean updating;
-
-	protected PropertyChangeListener listener;
-	protected IPublishListener publishListener;
-	protected IPath workspacePath;
-	protected IPath defaultDeployPath;
-	
-	protected boolean allowRestrictedEditing;
-	protected IPath tempDirPath;
-	protected IPath installDirPath;
-
-	// Avoid hardcoding this at some point
-	private final static String METADATADIR = ".metadata";
-	/**
-	 * ServerGeneralEditorPart constructor comment.
-	 */
-	public ServerLocationEditorSection() {
-		// do nothing
-	}
-
-	/**
-	 * Add listeners to detect undo changes and publishing of the server.
-	 */
-	protected void addChangeListeners() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (updating)
-					return;
-				updating = true;
-				if (ITomcatServer.PROPERTY_INSTANCE_DIR.equals(event.getPropertyName())
-						|| ITomcatServer.PROPERTY_TEST_ENVIRONMENT.equals(event.getPropertyName())) {
-					updateServerDirButtons();
-					updateServerDirFields();
-					validate();
-				}
-				else if (ITomcatServer.PROPERTY_DEPLOY_DIR.equals(event.getPropertyName())) {
-					String s = (String) event.getNewValue();
-					ServerLocationEditorSection.this.deployDir.setText(s);
-					updateDefaultDeployLink();					
-					validate();
-				}
-				updating = false;
-			}
-		};
-		server.addPropertyChangeListener(listener);
-		
-		publishListener = new PublishAdapter() {
-			public void publishFinished(IServer server2, IStatus status) {
-				boolean flag = false;
-				if (status.isOK() && server2.getModules().length == 0)
-					flag = true;
-				if (flag != allowRestrictedEditing) {
-					allowRestrictedEditing = flag;
-					// Update the state of the fields
-					PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							boolean customServerDir = false;
-							if (!ServerLocationEditorSection.this.serverDirCustom.isDisposed())
-								customServerDir = ServerLocationEditorSection.this.serverDirCustom.getSelection();
-							if (!ServerLocationEditorSection.this.serverDirMetadata.isDisposed())
-								ServerLocationEditorSection.this.serverDirMetadata.setEnabled(allowRestrictedEditing);
-							if (!ServerLocationEditorSection.this.serverDirInstall.isDisposed())
-								ServerLocationEditorSection.this.serverDirInstall.setEnabled(allowRestrictedEditing);
-							if (!ServerLocationEditorSection.this.serverDirCustom.isDisposed())
-								ServerLocationEditorSection.this.serverDirCustom.setEnabled(allowRestrictedEditing);
-							if (!ServerLocationEditorSection.this.serverDir.isDisposed())
-								ServerLocationEditorSection.this.serverDir.setEnabled(allowRestrictedEditing && customServerDir);
-							if (!ServerLocationEditorSection.this.serverDirBrowse.isDisposed())
-								ServerLocationEditorSection.this.serverDirBrowse.setEnabled(allowRestrictedEditing && customServerDir);
-							if (!ServerLocationEditorSection.this.setDefaultDeployDir.isDisposed())
-								ServerLocationEditorSection.this.setDefaultDeployDir.setEnabled(allowRestrictedEditing);
-							if (!ServerLocationEditorSection.this.deployDir.isDisposed())
-								ServerLocationEditorSection.this.deployDir.setEnabled(allowRestrictedEditing);
-							if (!ServerLocationEditorSection.this.deployDirBrowse.isDisposed())
-								ServerLocationEditorSection.this.deployDirBrowse.setEnabled(allowRestrictedEditing);
-						}
-					});
-				}
-			}
-		};
-		server.getOriginal().addPublishListener(publishListener);
-	}
-	
-	/**
-	 * Creates the SWT controls for this workbench part.
-	 *
-	 * @param parent the parent control
-	 */
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-
-		section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
-			| ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(Messages.serverEditorLocationsSection);
-		section.setDescription(Messages.serverEditorLocationsDescription);
-		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 = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.SERVER_EDITOR);
-		whs.setHelp(section, ContextIds.SERVER_EDITOR);
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-
-		serverDirMetadata = toolkit.createButton(composite,
-				NLS.bind(Messages.serverEditorServerDirMetadata, Messages.serverEditorDoesNotModify), SWT.RADIO);
-		GridData data = new GridData(SWT.FILL, SWT.CENTER, true, false);
-		data.horizontalSpan = 3;
-		serverDirMetadata.setLayoutData(data);
-		serverDirMetadata.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (updating || !serverDirMetadata.getSelection())
-					return;
-				updating = true;
-				execute(new SetTestEnvironmentCommand(tomcatServer, true));
-				updateServerDirFields();
-				updating = false;
-				validate();
-			}
-		});
-
-		serverDirInstall = toolkit.createButton(composite,
-				NLS.bind(Messages.serverEditorServerDirInstall, Messages.serverEditorTakesControl), SWT.RADIO);
-		data = new GridData(SWT.FILL, SWT.CENTER, true, false);
-		data.horizontalSpan = 3;
-		serverDirInstall.setLayoutData(data);
-		serverDirInstall.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (updating || !serverDirInstall.getSelection())
-					return;
-				updating = true;
-				execute(new SetTestEnvironmentCommand(tomcatServer, false));
-				updateServerDirFields();
-				updating = false;
-				validate();
-			}
-		});
-
-		serverDirCustom = toolkit.createButton(composite,
-				NLS.bind(Messages.serverEditorServerDirCustom, Messages.serverEditorDoesNotModify), SWT.RADIO);
-		data = new GridData(SWT.FILL, SWT.CENTER, true, false);
-		data.horizontalSpan = 3;
-		serverDirCustom.setLayoutData(data);
-		serverDirCustom.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (updating || !serverDirCustom.getSelection())
-					return;
-				updating = true;
-				execute(new SetTestEnvironmentCommand(tomcatServer, true));
-				updateServerDirFields();
-				updating = false;
-				validate();
-			}
-		});
-
-		// server directory
-		Label label = createLabel(toolkit, composite, Messages.serverEditorServerDir);
-		data = new GridData(SWT.BEGINNING, SWT.CENTER, false, false);
-		label.setLayoutData(data);
-
-		serverDir = toolkit.createText(composite, null, SWT.SINGLE);
-		data = new GridData(SWT.FILL, SWT.CENTER, true, false);
-		serverDir.setLayoutData(data);
-		serverDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new SetInstanceDirectoryCommand(tomcatServer, getServerDir()));
-				updating = false;
-				validate();
-			}
-		});
-
-		serverDirBrowse = toolkit.createButton(composite, Messages.editorBrowse, SWT.PUSH);
-		serverDirBrowse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(serverDir.getShell());
-				dialog.setMessage(Messages.serverEditorBrowseDeployMessage);
-				dialog.setFilterPath(serverDir.getText());
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null && !selectedDirectory.equals(serverDir.getText())) {
-					updating = true;
-					// Make relative if relative to the workspace
-					IPath path = new Path(selectedDirectory);
-					if (workspacePath.isPrefixOf(path)) {
-						int cnt = path.matchingFirstSegments(workspacePath);
-						path = path.removeFirstSegments(cnt).setDevice(null);
-						selectedDirectory = path.toOSString();
-					}
-					execute(new SetInstanceDirectoryCommand(tomcatServer, selectedDirectory));
-					updateServerDirButtons();
-					updateServerDirFields();
-					updating = false;
-					validate();
-				}
-			}
-		});
-		serverDirBrowse.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-
-		// deployment directory link
-		setDefaultDeployDir = toolkit.createHyperlink(composite,
-				NLS.bind(Messages.serverEditorSetDefaultDeployDirLink, ""), SWT.WRAP);
-		setDefaultDeployDir.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				updating = true;
-				execute(new SetDeployDirectoryCommand(tomcatServer, ITomcatServerWorkingCopy.DEFAULT_DEPLOYDIR));
-				deployDir.setText(ITomcatServerWorkingCopy.DEFAULT_DEPLOYDIR);
-				updateDefaultDeployLink();
-				updating = false;
-				validate();
-			}
-		});
-		data = new GridData(SWT.FILL, SWT.CENTER, true, false);
-		data.horizontalSpan = 3;
-		setDefaultDeployDir.setLayoutData(data);
-
-		// deployment directory
-		label = createLabel(toolkit, composite, Messages.serverEditorDeployDir);
-		data = new GridData(SWT.BEGINNING, SWT.CENTER, false, false);
-		label.setLayoutData(data);
-
-		deployDir = toolkit.createText(composite, null);
-		data = new GridData(SWT.FILL, SWT.CENTER, true, false);
-		deployDir.setLayoutData(data);
-		deployDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new SetDeployDirectoryCommand(tomcatServer, deployDir.getText().trim()));
-				updateDefaultDeployLink();
-				updating = false;
-				validate();
-			}
-		});
-
-		deployDirBrowse = toolkit.createButton(composite, Messages.editorBrowse, SWT.PUSH);
-		deployDirBrowse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(deployDir.getShell());
-				dialog.setMessage(Messages.serverEditorBrowseDeployMessage);
-				dialog.setFilterPath(deployDir.getText());
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null && !selectedDirectory.equals(deployDir.getText())) {
-					updating = true;
-					execute(new SetDeployDirectoryCommand(tomcatServer, selectedDirectory));
-					deployDir.setText(selectedDirectory);
-					updating = false;
-					validate();
-				}
-			}
-		});
-		deployDirBrowse.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
-
-		initialize();
-	}
-
-	protected Label createLabel(FormToolkit toolkit, Composite parent, String text) {
-		Label label = toolkit.createLabel(parent, text);
-		label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-		return label;
-	}
-
-	/**
-	 * @see ServerEditorSection#dispose()
-	 */
-	public void dispose() {
-		if (server != null) {
-			server.removePropertyChangeListener(listener);
-			if (server.getOriginal() != null)
-				server.getOriginal().removePublishListener(publishListener);
-		}
-	}
-
-	/**
-	 * @see ServerEditorSection#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		// Cache workspace and default deploy paths
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		workspacePath = root.getLocation();
-		defaultDeployPath = new Path(ITomcatServerWorkingCopy.DEFAULT_DEPLOYDIR);
-
-		if (server != null) {
-			tomcatServer = (TomcatServer) server.loadAdapter(TomcatServer.class, null);
-			addChangeListeners();
-		}
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (serverDir== null || tomcatServer == null)
-			return;
-		updating = true;
-
-		IRuntime runtime = server.getRuntime();
-		// If not Tomcat 3.2, update description to mention catalina.base
-		if (runtime != null && runtime.getRuntimeType().getId().indexOf("32") < 0)
-			section.setDescription(Messages.serverEditorLocationsDescription2);
-		installDirPath = runtime.getLocation();
-
-		// determine if editing of locations is allowed
-		allowRestrictedEditing = false;
-		IPath basePath = tomcatServer.getRuntimeBaseDirectory();
-		if (!readOnly) {
-			// If server has not been published, or server is published with no modules, allow editing
-			// TODO Find better way to determine if server hasn't been published
-			if ((basePath != null && !basePath.append("conf").toFile().exists())
-					|| (server.getOriginal().getServerPublishState() == IServer.PUBLISH_STATE_NONE
-							&& server.getOriginal().getModules().length == 0)) {
-				allowRestrictedEditing = true;
-			}
-		}
-		
-		// Update server related fields
-		updateServerDirButtons();
-		updateServerDirFields();
-
-		serverDirMetadata.setEnabled(allowRestrictedEditing);
-		serverDirInstall.setEnabled(allowRestrictedEditing);
-		serverDirCustom.setEnabled(allowRestrictedEditing);
-
-		// Update deployment related fields
-		updateDefaultDeployLink();
-		
-		deployDir.setText(tomcatServer.getDeployDirectory());
-
-		setDefaultDeployDir.setEnabled(allowRestrictedEditing);
-		deployDir.setEnabled(allowRestrictedEditing);
-		deployDirBrowse.setEnabled(allowRestrictedEditing);
-
-		updating = false;
-		validate();
-	}
-	
-	protected String getServerDir() {
-		String dir = null;
-		if (serverDir != null) {
-			dir = serverDir.getText().trim();
-			IPath path = new Path(dir);
-			// Adjust if the temp dir is known and has been entered
-			if (tempDirPath != null && tempDirPath.equals(path))
-				dir = null;
-			// If under the workspace, make relative
-			else if (workspacePath.isPrefixOf(path)) {
-				int cnt = path.matchingFirstSegments(workspacePath);
-				path = path.removeFirstSegments(cnt).setDevice(null);
-				dir = path.toOSString();
-			}
-		}
-		return dir;
-	}
-	
-	protected void updateServerDirButtons() {
-		if (tomcatServer.getInstanceDirectory() == null) {
-			IPath path = tomcatServer.getRuntimeBaseDirectory();
-			if (path.equals(installDirPath)) {
-				serverDirInstall.setSelection(true);
-				serverDirMetadata.setSelection(false);
-				serverDirCustom.setSelection(false);
-			}
-			else {
-				serverDirMetadata.setSelection(true);
-				serverDirInstall.setSelection(false);
-				serverDirCustom.setSelection(false);
-			}
-		}
-		else {
-			serverDirCustom.setSelection(true);
-			serverDirMetadata.setSelection(false);
-			serverDirInstall.setSelection(false);
-		}
-	}
-	
-	protected void updateServerDirFields() {
-		updateServerDir();
-		boolean customServerDir = serverDirCustom.getSelection();
-		serverDir.setEnabled(allowRestrictedEditing && customServerDir);
-		serverDirBrowse.setEnabled(allowRestrictedEditing && customServerDir);
-	}
-	
-	protected void updateServerDir() {
-		IPath path = tomcatServer.getRuntimeBaseDirectory();
-		if (workspacePath.isPrefixOf(path)) {
-			int cnt = path.matchingFirstSegments(workspacePath);
-			path = path.removeFirstSegments(cnt).setDevice(null);
-			serverDir.setText(path.toOSString());
-			// cache the relative temp dir path if that is what we have
-			if (tempDirPath == null) {
-				if (tomcatServer.isTestEnvironment() && tomcatServer.getInstanceDirectory() == null)
-					tempDirPath = path;
-			}
-		}
-		else
-			serverDir.setText(path.toOSString());
-	}
-	
-	protected void updateDefaultDeployLink() {
-		boolean newState = defaultDeployPath.equals(new Path(tomcatServer.getDeployDirectory()));
-		if (newState != defaultDeployDirIsSet) {
-			setDefaultDeployDir.setText(
-					newState ? Messages.serverEditorSetDefaultDeployDirLink2
-							: Messages.serverEditorSetDefaultDeployDirLink);
-			defaultDeployDirIsSet = newState;
-		}
-	}
-	
-	/**
-	 * @see ServerEditorSection#getSaveStatus()
-	 */
-	public IStatus[] getSaveStatus() {
-		if (tomcatServer != null) {
-			// Check the instance directory
-			String dir = tomcatServer.getInstanceDirectory();
-			if (dir != null) {
-				IPath path = new Path(dir);
-				// Must not be the same as the workspace location
-				if (dir.length() == 0 || workspacePath.equals(path)) {
-					return new IStatus [] {
-							new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID, Messages.errorServerDirIsRoot)};
-				}
-				// User specified value may not be under the ".metadata" folder of the workspace 
-				else if (workspacePath.isPrefixOf(path)
-						|| (!path.isAbsolute() && METADATADIR.equals(path.segment(0)))) {
-					int cnt = path.matchingFirstSegments(workspacePath);
-					if (METADATADIR.equals(path.segment(cnt))) {
-						return new IStatus [] {
-								new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID, NLS.bind(Messages.errorServerDirUnderRoot, METADATADIR))};
-					}
-				}
-				else if (installDirPath.equals(path))
-					return new IStatus [] {
-						new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID,
-								NLS.bind(Messages.errorServerDirCustomNotInstall,
-										NLS.bind(Messages.serverEditorServerDirInstall, "").trim()))};
-			}
-			else {
-				IPath path = tomcatServer.getRuntimeBaseDirectory();
-				// If non-custom instance dir is not the install and metadata isn't the selection, return error
-				if (!path.equals(installDirPath) && !serverDirMetadata.getSelection()) {
-					return new IStatus [] {
-							new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID,
-									NLS.bind(Messages.errorServerDirCustomNotMetadata, 
-											NLS.bind(Messages.serverEditorServerDirMetadata, "").trim()))};
-				}
-			}
-
-			// Check the deployment directory
-			dir = tomcatServer.getDeployDirectory();
-			// Deploy directory must be set
-			if (dir == null || dir.length() == 0) {
-				return new IStatus [] {
-						new Status(IStatus.ERROR, TomcatUIPlugin.PLUGIN_ID, Messages.errorDeployDirNotSpecified)};
-			}
-		}
-		// use default implementation to return success
-		return super.getSaveStatus();
-	}
-	
-	protected void validate() {
-		if (tomcatServer != null) {
-			// Validate instance directory
-			String dir = tomcatServer.getInstanceDirectory();
-			if (dir != null) {
-				IPath path = new Path(dir);
-				// Must not be the same as the workspace location
-				if (dir.length() == 0 || workspacePath.equals(path)) {
-					setErrorMessage(Messages.errorServerDirIsRoot);
-					return;
-				}
-				// User specified value may not be under the ".metadata" folder of the workspace 
-				else if (workspacePath.isPrefixOf(path)
-						|| (!path.isAbsolute() && METADATADIR.equals(path.segment(0)))) {
-					int cnt = path.matchingFirstSegments(workspacePath);
-					if (METADATADIR.equals(path.segment(cnt))) {
-						setErrorMessage(NLS.bind(Messages.errorServerDirUnderRoot, METADATADIR));
-						return;
-					}
-				}
-				else if (installDirPath.equals(path)) {
-					setErrorMessage(NLS.bind(Messages.errorServerDirCustomNotInstall,
-							NLS.bind(Messages.serverEditorServerDirInstall, "").trim()));
-					return;
-				}
-			}
-			else {
-				IPath path = tomcatServer.getRuntimeBaseDirectory();
-				// If non-custom instance dir is not the install and metadata isn't the selection, return error
-				if (!path.equals(installDirPath) && !serverDirMetadata.getSelection()) {
-					setErrorMessage(NLS.bind(Messages.errorServerDirCustomNotMetadata, 
-							NLS.bind(Messages.serverEditorServerDirMetadata, "").trim()));
-				}
-			}
-
-			// Check the deployment directory
-			dir = tomcatServer.getDeployDirectory();
-			// Deploy directory must be set
-			if (dir == null || dir.length() == 0) {
-				setErrorMessage(Messages.errorDeployDirNotSpecified);
-				return;
-			}
-		}
-		// All is okay, clear any previous error
-		setErrorMessage(null);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java b/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java
deleted file mode 100644
index fda0aad..0000000
--- a/plugins/org.eclipse.jst.server.tomcat.ui/tomcatui/org/eclipse/jst/server/tomcat/ui/internal/editor/WebModuleDialog.java
+++ /dev/null
@@ -1,291 +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.jst.server.tomcat.ui.internal.editor;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatConfiguration;
-import org.eclipse.jst.server.tomcat.core.internal.ITomcatServer;
-import org.eclipse.jst.server.tomcat.core.internal.WebModule;
-import org.eclipse.jst.server.tomcat.ui.internal.ContextIds;
-import org.eclipse.jst.server.tomcat.ui.internal.Messages;
-import org.eclipse.jst.server.tomcat.ui.internal.Trace;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServerAttributes;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.ui.ServerUICore;
-/**
- * Dialog to add or modify web modules.
- */
-public class WebModuleDialog extends Dialog {
-	protected IModule module4;
-	protected WebModule module;
-	protected boolean isEdit;
-	protected boolean isProject;
-	protected Text docBase;
-	protected IServerAttributes server2;
-	protected ITomcatServer server;
-	protected ITomcatConfiguration config;
-
-	protected Table projTable;
-
-	/**
-	 * WebModuleDialog constructor comment.
-	 * 
-	 * @param parentShell a shell
-	 * @param server2 a server
-	 * @param server a Tomcat server
-	 * @param config a Tomcat server configuration
-	 * @param module a module
-	 */
-	public WebModuleDialog(Shell parentShell, IServerAttributes server2, ITomcatServer server, ITomcatConfiguration config, WebModule module) {
-		super(parentShell);
-		this.module = module;
-		this.server2 = server2;
-		this.server = server;
-		this.config = config;
-		isEdit = true;
-	}
-
-	/**
-	 * WebModuleDialog constructor comment.
-	 * 
-	 * @param parentShell a shell
-	 * @param server2 a server
-	 * @param server a Tomcat server
-	 * @param config a Tomcat server configuration
-	 * @param isProject true if it is a project
-	 */
-	public WebModuleDialog(Shell parentShell, IServerAttributes server2, ITomcatServer server, ITomcatConfiguration config, boolean isProject) {
-		this(parentShell, server2, server, config, new WebModule("/", "", null, true));
-		isEdit = false;
-		this.isProject = isProject;
-	}
-
-	/**
-	 *
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (isEdit)
-			newShell.setText(Messages.configurationEditorWebModuleDialogTitleEdit);
-		else
-			newShell.setText(Messages.configurationEditorWebModuleDialogTitleAdd);
-	}
-
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of this dialog (above the button bar).
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method
-	 * creates and returns a new <code>Composite</code> with
-	 * standard margins and spacing. Subclasses should override.
-	 * </p>
-	 *
-	 * @param 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.numColumns = 3;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
-		whs.setHelp(composite, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG);
-		// add project field if we are adding a project
-		if (!isEdit && isProject) {
-			Label l = new Label(composite, SWT.NONE);
-			l.setText(Messages.configurationEditorWebModuleDialogProjects);
-			GridData data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-			l.setLayoutData(data);
-			
-			projTable = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
-			data = new GridData();
-			data.widthHint = 150;
-			data.heightHint = 75;
-			projTable.setLayoutData(data);
-			whs.setHelp(projTable, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PROJECT);
-	
-			// fill table with web module projects
-			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
-			IModule[] modules = ServerUtil.getModules(server2.getServerType().getRuntimeType().getModuleTypes());
-			if (modules != null) {
-				int size = modules.length;
-				for (int i = 0; i < size; i++) {
-					IModule module3 = modules[i];
-					if ("jst.web".equals(module3.getModuleType().getId())) {
-						IStatus status = server2.canModifyModules(new IModule[] { module3 }, null, null);
-						if (status != null && status.isOK()) {
-							TableItem item = new TableItem(projTable, SWT.NONE);
-							item.setText(0, labelProvider.getText(module3));
-							item.setImage(0, labelProvider.getImage(module3));
-							item.setData(module3);
-						}
-					}
-				}
-			}
-			labelProvider.dispose();
-			new Label(composite, SWT.NONE).setText(" ");
-		}
-		
-		new Label(composite, SWT.NONE).setText(Messages.configurationEditorWebModuleDialogDocumentBase);
-		docBase = new Text(composite, SWT.BORDER);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		docBase.setLayoutData(data);
-		docBase.setText(module.getDocumentBase());
-		whs.setHelp(docBase, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_DOCBASE);
-	
-		// disable document base for project modules
-		if (isProject || (module.getMemento() != null && module.getMemento().length() > 0))
-			docBase.setEditable(false);
-		else {
-			docBase.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					module = new WebModule(module.getPath(), docBase.getText(), module.getMemento(), module.isReloadable());
-					validate();
-				}
-			});
-		}
-	
-		if (isEdit || isProject)
-			new Label(composite, SWT.NONE).setText(" ");
-		else {
-			Button browse = new Button(composite, SWT.NONE);
-			browse.setText(Messages.browse);
-			browse.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent se) {
-					try {
-						DirectoryDialog dialog = new DirectoryDialog(getShell());
-						dialog.setMessage(Messages.configurationEditorWebModuleDialogSelectDirectory);
-						String selectedDirectory = dialog.open();
-						if (selectedDirectory != null)
-							docBase.setText(selectedDirectory);
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error browsing", e);
-					}
-				}
-			});
-		}
-		
-		// path (context-root)
-		new Label(composite, SWT.NONE).setText(Messages.configurationEditorWebModuleDialogPath);
-		final Text path = new Text(composite, SWT.BORDER);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = 150;
-		path.setLayoutData(data);
-		path.setText(module.getPath());
-		/*if (module.getMemento() != null && module.getMemento().length() > 0)
-			path.setEditable(false);
-		else*/
-			path.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					module = new WebModule(path.getText(), module.getDocumentBase(), module.getMemento(), module.isReloadable());
-				}
-			});
-		whs.setHelp(path, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_PATH);
-		
-		new Label(composite, SWT.NONE).setText("");
-		
-		if (!isProject) {
-			// auto reload
-			new Label(composite, SWT.NONE).setText("");
-			final Button reloadable = new Button(composite, SWT.CHECK);
-			reloadable.setText(Messages.configurationEditorWebModuleDialogReloadEnabled);
-			data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			reloadable.setLayoutData(data);
-			reloadable.setSelection(module.isReloadable());
-			reloadable.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					module = new WebModule(module.getPath(), module.getDocumentBase(), module.getMemento(), reloadable.getSelection());
-				}
-			});
-			whs.setHelp(reloadable, ContextIds.CONFIGURATION_EDITOR_WEBMODULE_DIALOG_RELOAD);
-		}
-		
-		if (!isEdit && isProject) {
-			projTable.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent event) {
-					try {
-						IModule module3 = (IModule) projTable.getSelection()[0].getData();
-						IWebModule module2 = (IWebModule) module3.loadAdapter(IWebModule.class, null);
-						String contextRoot = module2.getContextRoot();
-						if (contextRoot != null && !contextRoot.startsWith("/") && contextRoot.length() > 0)
-							contextRoot = "/" + contextRoot;
-						module = new WebModule(contextRoot, module3.getName(), module3.getId(), module.isReloadable());
-						docBase.setText(module3.getName());
-						path.setText(contextRoot);
-						module4 = module3;
-					} catch (Exception e) {
-						// ignore
-					}
-					validate();
-				}
-			});
-			new Label(composite, SWT.NONE).setText("");
-		}
-	
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-	
-	protected Control createButtonBar(Composite parent) {
-		Control control = super.createButtonBar(parent);
-		validate();
-
-		return control;
-	}
-
-	protected void validate() {
-		boolean ok = true;
-		if (module.getDocumentBase() == null || module.getDocumentBase().length() < 1)
-			ok = false;
-		
-		getButton(IDialogConstants.OK_ID).setEnabled(ok);
-	}
-
-	/**
-	 * Return the mime mapping.
-	 *
-	 * @return org.eclipse.jst.server.tomcat.WebModule
-	 */
-	public WebModule getWebModule() {
-		return module;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.ui/.classpath b/plugins/org.eclipse.jst.server.ui/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/plugins/org.eclipse.jst.server.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.ui/.cvsignore b/plugins/org.eclipse.jst.server.ui/.cvsignore
deleted file mode 100644
index b631b26..0000000
--- a/plugins/org.eclipse.jst.server.ui/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-build.xml
-org.eclipse.jst.server.ui_3.0.0.jar
-sjavaui.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.ui/.options b/plugins/org.eclipse.jst.server.ui/.options
deleted file mode 100644
index a747d69..0000000
--- a/plugins/org.eclipse.jst.server.ui/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.ui plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.ui/debug=true
diff --git a/plugins/org.eclipse.jst.server.ui/.project b/plugins/org.eclipse.jst.server.ui/.project
deleted file mode 100644
index abd835d..0000000
--- a/plugins/org.eclipse.jst.server.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.jst.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.jst.server.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index abb926c..0000000
--- a/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Fri Feb 23 21:15:49 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 875a428..0000000
--- a/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:15:49 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.jst.server.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jst.server.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.jst.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.jst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 0a0e023..0000000
--- a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.ui; singleton:=true
-Bundle-Version: 1.0.203.qualifier
-Bundle-Activator: org.eclipse.jst.server.ui.internal.JavaServerUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.ui.internal;x-internal:=true,
- org.eclipse.jst.server.ui.internal.cactus;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.junit;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.3.0)",
- org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jdt.debug.ui;bundle-version="[3.2.100,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.jst.server.ui/about.html b/plugins/org.eclipse.jst.server.ui/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.jst.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 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.ui/build.properties b/plugins/org.eclipse.jst.server.ui/build.properties
deleted file mode 100644
index 1fc39cb..0000000
--- a/plugins/org.eclipse.jst.server.ui/build.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               .,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-source.. = src/
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif
deleted file mode 100644
index 4423578..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/appclient_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif
deleted file mode 100644
index b5630b3..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/ear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif
deleted file mode 100644
index f8b5c0a..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/ejb_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif
deleted file mode 100644
index 6059f86..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/java_jar.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif
deleted file mode 100644
index cb55e33..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif
deleted file mode 100644
index 1ff93cb..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/new_testcase.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif
deleted file mode 100644
index bf20f70..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/web_module.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.png b/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.png
deleted file mode 100644
index 577567c..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_runtime_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.png b/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.png
deleted file mode 100644
index 78c8755..0000000
--- a/plugins/org.eclipse.jst.server.ui/icons/wizban/new_test_wiz.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.properties b/plugins/org.eclipse.jst.server.ui/plugin.properties
deleted file mode 100644
index 5e40f25..0000000
--- a/plugins/org.eclipse.jst.server.ui/plugin.properties
+++ /dev/null
@@ -1,18 +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
-###############################################################################
-pluginName=Java Server UI Support
-providerName=Eclipse.org
-
-classpathContainer=Server Runtime
-
-cactusJUnitClient=JUnit Client
-cactusServletTestCase=Servlet Test Case
-cactusQuickFixProcessor=Cactus Quick Fix Processor
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/plugin.xml b/plugins/org.eclipse.jst.server.ui/plugin.xml
deleted file mode 100644
index fbf82c5..0000000
--- a/plugins/org.eclipse.jst.server.ui/plugin.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  <extension point="org.eclipse.wst.server.ui.serverImages">
-     <image
-        id="org.eclipse.jst.server"
-        typeIds="org.eclipse.jst.server.core.runtimeType"
-        icon="icons/obj16/java_jar.gif"/>
-     <image
-        id="org.eclipse.jst.server.web"
-        typeIds="jst.web"
-        icon="icons/obj16/web_module.gif"/>
-     <image
-        id="org.eclipse.jst.server.ejb"
-        typeIds="jst.ejb"
-        icon="icons/obj16/ejb_module.gif"/>
-     <image
-        id="org.eclipse.jst.server.ear"
-        typeIds="jst.ear"
-        icon="icons/obj16/ear.gif"/>
-     <image
-        id="org.eclipse.jst.server.appclient"
-        typeIds="jst.appclient"
-        icon="icons/obj16/appclient_module.gif"/>
-     <image
-        id="org.eclipse.jst.server.connector"
-        typeIds="jst.connector"
-        icon="icons/obj16/java_jar.gif"/>
-     <image
-        id="org.eclipse.jst.server.utility"
-        typeIds="jst.utility"
-        icon="icons/obj16/java_jar.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.ui.wizardFragments">
-     <fragment
-        id="org.eclipse.jst.server.core.runtimeType"
-        typeIds="org.eclipse.jst.server.core.runtimeType"
-        class="org.eclipse.jst.server.ui.internal.GenericRuntimeWizardFragment"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.clients">
-     <client
-        id="org.eclipse.jst.server.cactus.client"
-        class="org.eclipse.jst.server.ui.internal.cactus.JUnitClientDelegate"
-        launchable="org.eclipse.jst.server.cactus.launchable"
-        name="%cactusJUnitClient"/>
-  </extension>
-
-  <extension point="org.eclipse.ui.newWizards">
-     <wizard
-        id="org.eclipse.jst.server.ui.internal.cactus.NewServletTestCaseWizard"
-        canFinishEarly="false"
-        category="org.eclipse.jdt.ui.java/org.eclipse.jdt.junit"
-        class="org.eclipse.jst.server.ui.internal.cactus.NewServletTestCaseWizard"
-        hasPages="true"
-        icon="icons/obj16/new_testcase.gif"
-        name="%cactusServletTestCase"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="standard.jre"/>
-      <factory class="org.eclipse.wst.server.ui.FacetRuntimeComponentLabelProvider"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="standard.jre"
-       path="icons/obj16/jre.gif"/>
-    <image runtime-component-type="org.eclipse.jst.server.core.runtimeType"
-       path="icons/obj16/java_jar.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.jdt.ui.classpathContainerPage">
-    <classpathContainerPage
-       id="org.eclipse.jst.server.core.container"
-       name="%classpathContainer"
-       class="org.eclipse.jst.server.ui.internal.ServerClasspathContainerPage">
-    </classpathContainerPage>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="org.eclipse.jst.server.core.runtimeType"/>
-      <factory class="org.eclipse.wst.server.ui.FacetRuntimeComponentLabelProvider"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-
-  <extension point="org.eclipse.jdt.ui.quickFixProcessors">
-    <quickFixProcessor
-       name="%cactusQuickFixProcessor"
-       class="org.eclipse.jst.server.ui.internal.cactus.CactusQuickFixProcessor"
-       id="org.eclipse.jst.server.ui.internal.cactus.CactusQuickFixProcessor">
-    </quickFixProcessor>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ContextIds.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ContextIds.java
deleted file mode 100644
index 6ee0d35..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal;
-/**
- * Context help id constants.
- */
-public interface ContextIds {
-	public static final String RUNTIME_COMPOSITE = JavaServerUIPlugin.PLUGIN_ID + ".jvrt0000";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
deleted file mode 100644
index 9f2d0fe..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
+++ /dev/null
@@ -1,266 +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.jst.server.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.server.core.internal.GenericRuntime;
-import org.eclipse.jst.server.core.internal.IGenericRuntimeWorkingCopy;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.PlatformUI;
-/**
- * Wizard page to set the server install directory.
- */
-public class GenericRuntimeComposite extends Composite {
-	protected static final String INSTALLED_JRE_PREFERENCE_PAGE_ID = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage";
-	protected IRuntimeWorkingCopy runtimeWC;
-	protected IGenericRuntimeWorkingCopy runtime;
-	
-	protected IWizardHandle wizard;
-	
-	protected Text name;
-	protected Text installDir;
-	protected Combo combo;
-	protected List installedJREs;
-	protected String[] jreNames;
-
-	/**
-	 * GenericRuntimeComposite constructor comment.
-	 */
-	protected GenericRuntimeComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		
-		wizard.setTitle(Messages.runtimeTypeTitle);
-		wizard.setDescription(Messages.runtimeTypeDescription);
-		wizard.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZ_RUNTIME_TYPE));
-		
-		createControl();
-	}
-
-	protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
-		if (newRuntime == null) {
-			runtimeWC = null;
-			runtime = null;
-		} else {
-			runtimeWC = newRuntime;
-			runtime = (IGenericRuntimeWorkingCopy) newRuntime.loadAdapter(IGenericRuntimeWorkingCopy.class, null);
-		}
-		
-		init();
-		validate();
-	}
-
-	/**
-	 * Provide a wizard page to change the root directory.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.RUNTIME_COMPOSITE);
-		
-		Label label = new Label(this, SWT.NONE);
-		label.setText(Messages.runtimeTypeName);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		name = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		name.setLayoutData(data);
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setName(name.getText());
-				validate();
-			}
-		});
-	
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.runtimeTypeLocation);
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-	
-		installDir = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		installDir.setLayoutData(data);
-		installDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setLocation(new Path(installDir.getText()));
-				validate();
-			}
-		});
-	
-		Button browse = SWTUtil.createButton(this, Messages.browse);
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(GenericRuntimeComposite.this.getShell());
-				dialog.setMessage(Messages.runtimeTypeSelectLocation);
-				dialog.setFilterPath(installDir.getText());
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null)
-					installDir.setText(selectedDirectory);
-			}
-		});
-		
-		updateJREs();
-		
-		// JDK location
-		label = new Label(this, SWT.NONE);
-		label.setText(Messages.runtimeTypeJRE);
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		combo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setItems(jreNames);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		combo.setLayoutData(data);
-		
-		combo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				int sel = combo.getSelectionIndex();
-				IVMInstall vmInstall = null;
-				if (sel > 0)
-					vmInstall = (IVMInstall) installedJREs.get(sel - 1);
-				
-				runtime.setVMInstall(vmInstall);
-				validate();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		Button button = SWTUtil.createButton(this, Messages.runtimeTypeInstalledJREs);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String currentVM = combo.getText();
-				if (showPreferencePage()) {
-					updateJREs();
-					combo.setItems(jreNames);
-					combo.setText(currentVM);
-					if (combo.getSelectionIndex() == -1)
-						combo.select(0);
-				}
-			}
-		});
-		
-		init();
-		validate();
-
-		Dialog.applyDialogFont(this);
-
-		name.forceFocus();
-	}
-	
-	protected void updateJREs() {
-		// get all installed JVMs
-		installedJREs = new ArrayList();
-		IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
-		int size = vmInstallTypes.length;
-		for (int i = 0; i < size; i++) {
-			IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls();
-			int size2 = vmInstalls.length;
-			for (int j = 0; j < size2; j++) {
-				installedJREs.add(vmInstalls[j]);
-			}
-		}
-		
-		// get names
-		size = installedJREs.size();
-		jreNames = new String[size+1];
-		jreNames[0] = Messages.runtimeTypeDefaultJRE;
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i+1] = vmInstall.getName();
-		}
-	}
-
-	protected boolean showPreferencePage() {
-		String id = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage";
-		
-		// should be using the following API, but it only allows a single preference page instance.
-		// see bug 168211 for details
-		//PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[] { id }, null);
-		//return (dialog.open() == Window.OK);		
-		
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode(id);
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		PreferenceDialog dialog = new PreferenceDialog(getShell(), manager2);
-		dialog.create();
-		return (dialog.open() == Window.OK);
-	}
-
-	protected void init() {
-		if (installDir == null || runtime == null)
-			return;
-		
-		name.setText(runtimeWC.getName());
-		
-		if (runtimeWC.getLocation() != null)
-			installDir.setText(runtimeWC.getLocation().toOSString());
-		else
-			installDir.setText("");
-		
-		// set selection
-		if (((GenericRuntime)runtime).isUsingDefaultJRE())
-			combo.select(0);
-		else {
-			boolean found = false;
-			int size = installedJREs.size();
-			for (int i = 0; i < size; i++) {
-				IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-				if (vmInstall.equals(runtime.getVMInstall())) {
-					combo.select(i + 1);
-					found = true;
-				}
-			}
-			if (!found)
-				combo.select(0);
-		}
-	}
-
-	protected void validate() {
-		if (runtime == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-
-		IStatus status = runtimeWC.validate(null);
-		if (status == null || status.isOK())
-			wizard.setMessage(null, IMessageProvider.NONE);
-		else
-			wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java
deleted file mode 100644
index 76a9180..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/GenericRuntimeWizardFragment.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal;
-
-import org.eclipse.wst.server.core.*;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Composite;
-/**
- * 
- */
-public class GenericRuntimeWizardFragment extends WizardFragment {
-	protected GenericRuntimeComposite comp;
-	
-	/**
-	 * Create a new fragment.
-	 */
-	public GenericRuntimeWizardFragment() {
-		// do nothing
-	}
-
-	/**
-	 * @see WizardFragment#hasComposite()
-	 */
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/**
-	 * @see WizardFragment#createComposite(Composite, IWizardHandle)
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new GenericRuntimeComposite(parent, wizard);
-		return comp;
-	}
-
-	/**
-	 * @see WizardFragment#isComplete()
-	 */
-	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate(null);
-		return (status != null && status.isOK());
-	}
-
-	/**
-	 * @see WizardFragment#enter()
-	 */
-	public void enter() {
-		if (comp != null) {
-			IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-			comp.setRuntime(runtime);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java
deleted file mode 100644
index 9d12e5d..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ImageResource.java
+++ /dev/null
@@ -1,124 +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.jst.server.ui.internal;
-
-import java.net.URL;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-/**
- * Utility class to handle image resources.
- */
-public class ImageResource {
-	// the image registry
-	private static ImageRegistry imageRegistry;
-
-	// map of image descriptors since these
-	// will be lost by the image registry
-	private static Map imageDescriptors;
-
-	// map of IElement images
-	private static Map elementImages;
-
-	// base urls for images
-	private static URL ICON_BASE_URL;
-
-	static {
-		try {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = JavaServerUIPlugin.getInstance().getBundle().getEntry(pathSuffix);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not set icon base URL", e);
-		}
-	}
-
-	private static final String URL_WIZBAN = "wizban/";
-
-	protected static final String IMG_WIZ_RUNTIME_TYPE = "wiz_runtimeType";
-	public static final String IMG_WIZ_CACTUS_TEST = "wiz_cactus_test";
-
-	/**
-	 * Cannot construct an ImageResource. Use static methods only.
-	 */
-	private ImageResource() {
-		// do nothing
-	}
-
-	/**
-	 * Dispose of element images that were created.
-	 */
-	protected static void dispose() {
-		try {
-			Trace.trace(Trace.FINEST, "Disposing of element images");
-			Iterator iterator = elementImages.values().iterator();
-			while (iterator.hasNext()) {
-				Image image = (Image) iterator.next();
-				image.dispose();
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not dispose of images");
-		}
-	}
-	
-	/**
-	 * Return the image with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.swt.graphics.Image
-	 */
-	public static Image getImage(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return imageRegistry.get(key);
-	}
-	
-	/**
-	 * Return the image descriptor with the given key.
-	 *
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.resource.ImageDescriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageRegistry == null)
-			initializeImageRegistry();
-		return (ImageDescriptor) imageDescriptors.get(key);
-	}
-
-	/**
-	 * Initialize the image resources.
-	 */
-	protected static void initializeImageRegistry() {
-		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap();
-		
-		registerImage(IMG_WIZ_RUNTIME_TYPE, URL_WIZBAN + "new_runtime_wiz.png");
-		registerImage(IMG_WIZ_CACTUS_TEST, URL_WIZBAN + "new_test_wiz.png");
-	}
-
-	/**
-	 * Register an image with the registry.
-	 *
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private static void registerImage(String key, String partialURL) {
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			imageRegistry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error registering image " + key + " from " + partialURL, e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java
deleted file mode 100644
index c74a5f9..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/JavaServerUIPlugin.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-/**
- * The main server tooling plugin class.
- */
-public class JavaServerUIPlugin extends AbstractUIPlugin {
-	/**
-	 * Java server UI plugin id
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.ui";
-
-	// singleton instance of this class
-	private static JavaServerUIPlugin singleton;
-
-	/**
-	 * Create the JavaServerUIPlugin.
-	 */
-	public JavaServerUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.jst.server.ui.JavaServerUIPlugin
-	 */
-	public static JavaServerUIPlugin getInstance() {
-		return singleton;
-	}
-	
-	/**
-	 * Convenience method for logging.
-	 *
-	 * @param t a throwable
-	 */
-	public static void log(Throwable t) {
-		getInstance().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "Internal error", t)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the active workbench shell
-	 * 
-	 * @return the active workbench shell
-	 */
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow workBenchWindow = getActiveWorkbenchWindow();
-		if (workBenchWindow == null)
-			return null;
-		return workBenchWindow.getShell();
-	}
-	
-	/**
-	 * Returns the active workbench window
-	 * 
-	 * @return the active workbench window
-	 */
-	protected static IWorkbenchWindow getActiveWorkbenchWindow() {
-		IWorkbench workBench= getInstance().getWorkbench();
-		if (workBench == null)
-			return null;
-		return workBench.getActiveWorkbenchWindow();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.java
deleted file mode 100644
index 949692b..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.java
+++ /dev/null
@@ -1,59 +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.jst.server.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String runtimeTypeTitle;
-	public static String runtimeTypeDescription;
-	public static String runtimeTypeName;
-	public static String runtimeTypeLocation;
-	public static String runtimeTypeSelectLocation;
-	public static String runtimeTypeJRE;
-	public static String browse;
-	public static String runtimeTypeInstalledJREs;
-	public static String runtimeTypeDefaultJRE;
-	public static String errorInternalCactus;
-
-	public static String classpathContainer;
-	public static String classpathContainerDescription;
-	public static String classpathContainerRuntimeList;
-
-	public static String LaunchTestAction_message_selectConfiguration;
-	public static String LaunchTestAction_message_selectDebugConfiguration;
-	public static String LaunchTestAction_message_selectRunConfiguration;
-
-	public static String NewServletTestCaseWizard_WindowTitle;
-	public static String NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary;
-	public static String NewServletTestCaseWizard_ErrorMessageMissingLibrary;
-	public static String NewServletTestCaseWizard_ErrorTitleNew;
-	public static String NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed;
-	public static String NewServletTestCaseWizard_ErrorMessageSeeErrorLog;
-    public static String NewServletTestCaseWizard_WarningMessageSelectAWebProject;
-    public static String NewServletTestCaseWizard_WarningTitleWebProjectRequired;
-    public static String NewServletTestCaseWizard_WarningMessageSuperclassIsEmpty;
-    public static String NewServletTestCaseWizard_WarningMessageSuperclassDoesNotExist;
-    public static String NewServletTestCaseWizard_WarningMessageSuperclassIsInterface;
-    public static String NewServletTestCaseWizard_WarningMessageSuperclassNotServletTestCase;
-    public static String CactusAddLibrariesProposal_ErrorMessageCouldntInstallLibraries;
-    public static String CactusAddLibrariesProposal_ErrorMessageCactusBundleNotFound;
-    public static String CactusAddLibrariesProposal_ErrorMessageDestDirNotFound;
-    public static String CactusAddLibrariesProposal_ErrorMessageInstallationOfLibsFailed;
-    public static String CactusAddLibrariesProposal_ErrorMessageInstallDirNotFound;
-    public static String CactusAddLibrariesProposal_AdditionalInfoAddCactusLibraries;
-    public static String CactusAddLibrariesProposal_DisplayStringAddCactusLibs;
-	static {
-		NLS.initializeMessages(JavaServerUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.properties b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.properties
deleted file mode 100644
index d3078d6..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Messages.properties
+++ /dev/null
@@ -1,50 +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
-###############################################################################
-
-runtimeTypeTitle=Generic J2EE Runtime
-runtimeTypeDescription=Define a generic J2EE runtime. Specify a directory containing jar files to compile against.
-runtimeTypeName=Na&me:
-runtimeTypeLocation=&Location:
-browse=B&rowse...
-runtimeTypeSelectLocation=Select the location of the runtime.
-runtimeTypeJRE=&JRE:
-runtimeTypeDefaultJRE=Workbench default JRE
-runtimeTypeInstalledJREs=In&stalled JREs...
-
-classpathContainer=Server Library
-classpathContainerDescription=Select a server runtime to add to the classpath
-classpathContainerRuntimeList=Select a &runtime to add to the classpath:
-
-errorInternalCactus=Internal error while attempting to launch Cactus
-
-LaunchTestAction_message_selectConfiguration=Select a Test Configuration
-LaunchTestAction_message_selectDebugConfiguration=Select JUnit configuration to debug
-LaunchTestAction_message_selectRunConfiguration=Select JUnit configuration to run
-
-NewServletTestCaseWizard_WindowTitle=New Cactus Test Case
-NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary=Missing library
-NewServletTestCaseWizard_ErrorMessageMissingLibrary=You are missing cactus dependencies in your web project. Would you like to install them?
-NewServletTestCaseWizard_ErrorTitleNew=New
-NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed=Creation of element failed.
-NewServletTestCaseWizard_ErrorMessageSeeErrorLog=See error log for more details.
-NewServletTestCaseWizard_WarningMessageSelectAWebProject=Warning: Cactus libraries can only be installed in a web project. Please select a web project.
-NewServletTestCaseWizard_WarningTitleWebProjectRequired=Web project required.
-NewServletTestCaseWizard_WarningMessageSuperclassIsEmpty=Superclass is empty.
-NewServletTestCaseWizard_WarningMessageSuperclassDoesNotExist=Superclass does not exist.
-NewServletTestCaseWizard_WarningMessageSuperclassIsInterface=Superclass is interface.
-NewServletTestCaseWizard_WarningMessageSuperclassNotServletTestCase=Superclass does not extends org.apache.cactus.ServletTestCase.
-CactusAddLibrariesProposal_ErrorMessageCouldntInstallLibraries=Couldn't install libraries
-CactusAddLibrariesProposal_ErrorMessageCactusBundleNotFound=Cactus bundle could not be found.
-CactusAddLibrariesProposal_ErrorMessageDestDirNotFound=Destination folder did not exist.
-CactusAddLibrariesProposal_ErrorMessageInstallationOfLibsFailed=Installation of libraries failed.
-CactusAddLibrariesProposal_ErrorMessageInstallDirNotFound=Cactus install directory could not be found
-CactusAddLibrariesProposal_AdditionalInfoAddCactusLibraries=Add the Cactus libraries to do the WEB-INF/lib directory
-CactusAddLibrariesProposal_DisplayStringAddCactusLibs=Add Cactus Libraries
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java
deleted file mode 100644
index f5be1c1..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/RuntimeLabelProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    IBM Corporation - Support for all server types
- ******************************************************************************/
-package org.eclipse.jst.server.ui.internal;
-
-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;
-/**
- * 
- */
-public final class RuntimeLabelProvider implements IRuntimeComponentLabelProvider {
-	private final IRuntimeComponent rc;
-
-	public RuntimeLabelProvider(final IRuntimeComponent rc) {
-		this.rc = rc;
-	}
-
-	public String getLabel() {
-		return rc.getProperty("type");
-	}
-
-	public static final class Factory implements IAdapterFactory {
-		private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
-
-		public Object getAdapter(final Object adaptable, final Class adapterType) {
-			final 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.jst.server.ui/src/org/eclipse/jst/server/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/SWTUtil.java
deleted file mode 100644
index b263b01..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-/**
- * SWT Utility class.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp the component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
deleted file mode 100644
index 3caf856..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/ServerClasspathContainerPage.java
+++ /dev/null
@@ -1,129 +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.jst.server.ui.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.wizards.IClasspathContainerPage;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.RuntimeClasspathContainer;
-import org.eclipse.jst.server.core.internal.RuntimeClasspathProviderWrapper;
-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.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.internal.viewers.RuntimeTableLabelProvider;
-
-public class ServerClasspathContainerPage extends WizardPage implements IClasspathContainerPage {
-	protected IClasspathEntry selection;
-
-	protected Map runtimeMap = new HashMap();
-
-	public ServerClasspathContainerPage() {
-		super("server.container");
-		setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_WIZ_RUNTIME_TYPE));
-		setTitle(Messages.classpathContainer);
-		setDescription(Messages.classpathContainerDescription);
-		setPageComplete(false);
-		
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		int size = runtimes.length;
-		for (int i = 0; i < size; i++) {
-			if (runtimes[i].getRuntimeType() != null) {
-				RuntimeClasspathProviderWrapper rcpw = JavaServerPlugin.findRuntimeClasspathProvider(runtimes[i].getRuntimeType());
-				if (rcpw != null) {
-					IPath serverContainerPath = new Path(RuntimeClasspathContainer.SERVER_CONTAINER)
-							.append(rcpw.getId()).append(runtimes[i].getId());
-					runtimeMap.put(runtimes[i], JavaCore.newContainerEntry(serverContainerPath));
-				}
-			}
-		}
-	}
-
-	public boolean finish() {
-		return true;
-	}
-
-	public IClasspathEntry getSelection() {
-		return selection;
-	}
-
-	public void setSelection(IClasspathEntry containerEntry) {
-		selection = containerEntry;
-	}
-
-	public void createControl(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		comp.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		comp.setLayout(layout);
-		
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(Messages.classpathContainerRuntimeList);
-		
-		Table table = new Table(comp, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		table.setHeaderVisible(false);
-		
-		TableViewer tableViewer = new TableViewer(table);
-		tableViewer.setContentProvider(new IStructuredContentProvider() {
-			public Object[] getElements(Object inputElement) {
-				Object[] obj = runtimeMap.keySet().toArray(); 
-				return obj;
-			}
-
-			public void dispose() {
-				// ignore
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				// ignore
-			}
-		});
-		tableViewer.setLabelProvider(new RuntimeTableLabelProvider());
-		tableViewer.setInput("root");
-		
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				try {
-					IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-					selection = (IClasspathEntry) runtimeMap.get(sel.getFirstElement());
-					setPageComplete(true);
-				} catch (Exception e) {
-					selection = null;
-					setPageComplete(false);
-				}
-			}
-		});
-		
-		setControl(comp);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java
deleted file mode 100644
index 446ed8e..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/StandardJreLabelProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    IBM Corporation - Support for all server types
- ******************************************************************************/
-package org.eclipse.jst.server.ui.internal;
-
-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;
-/**
- * 
- */
-public final class StandardJreLabelProvider implements IRuntimeComponentLabelProvider {
-   private final IRuntimeComponent rc;
-
-   public StandardJreLabelProvider(final IRuntimeComponent rc) {
-		this.rc = rc;
-	}
-
-	public String getLabel() {
-		StringBuffer buf = new StringBuffer();
-		buf.append("JRE ");
-		buf.append(rc.getRuntimeComponentVersion().getVersionString());
-		buf.append(": ");
-		buf.append(rc.getProperty("name"));
-
-		return buf.toString();
-	}
-
-	public static final class Factory implements IAdapterFactory {
-		private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
-
-		public Object getAdapter(final Object adaptable, final Class adapterType) {
-			IRuntimeComponent rc = (IRuntimeComponent) adaptable;
-			return new StandardJreLabelProvider(rc);
-		}
-
-		public Class[] getAdapterList() {
-			return ADAPTER_TYPES;
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java
deleted file mode 100644
index 2996a5f..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/Trace.java
+++ /dev/null
@@ -1,53 +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.jst.server.ui.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static final byte CONFIG = 0;
-	public static final byte WARNING = 1;
-	public static final byte SEVERE = 2;
-	public static final byte FINEST = 3;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!JavaServerUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(JavaServerUIPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusAddLibrariesProposal.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusAddLibrariesProposal.java
deleted file mode 100644
index f85a7b5..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusAddLibrariesProposal.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal.cactus;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin;
-import org.eclipse.jst.server.ui.internal.Messages;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.actions.CopyFilesAndFoldersOperation;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.osgi.framework.Bundle;
-
-public class CactusAddLibrariesProposal implements IJavaCompletionProposal {
-	private final IInvocationContext fContext;
-
-	public CactusAddLibrariesProposal(IInvocationContext context) {
-		fContext = context;
-	}
-
-	public int getRelevance() {
-		return 0;
-	}
-
-	public void apply(IDocument document) {
-		ICompilationUnit javaFile = fContext.getCompilationUnit();
-		installLibraries(javaFile.getJavaProject().getProject());
-	}
-
-	public static void installLibraries(final IProject project) {
-		try {
-			Bundle bundle = Platform.getBundle("org.apache.cactus"); //$NON-NLS-1$
-			if (bundle == null) {
-				showInstallFailedDialog(Messages.CactusAddLibrariesProposal_ErrorMessageCactusBundleNotFound);
-				return;
-			}
-			URL cactusLibDir = FileLocator.find(bundle, new Path("lib"), null); //$NON-NLS-1$
-			if (cactusLibDir == null) {
-				showInstallFailedDialog(Messages.CactusAddLibrariesProposal_ErrorMessageInstallDirNotFound);
-				return;
-			}
-			URL localURL = FileLocator.toFileURL(cactusLibDir);
-			final File sourceDirectory = new File(localURL.getPath());
-			IVirtualComponent component = ComponentCore.createComponent(project);
-			IVirtualFolder vf = component.getRootFolder().getFolder("WEB-INF/lib"); //$NON-NLS-1$
-			final IContainer destinationDirectory = vf.getUnderlyingFolder();
-
-			IFolder destinationFolder = project.getFolder(destinationDirectory
-					.getProjectRelativePath());
-
-			if (destinationFolder.exists()) {
-				File[] filesToCopy = sourceDirectory.listFiles();
-				String[] filesToCopyNames = new String[filesToCopy.length];
-				for (int i = 0; i < filesToCopy.length; i++) {
-					filesToCopyNames[i] = filesToCopy[i].getAbsolutePath();
-				}
-				CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(
-						JavaServerUIPlugin.getActiveWorkbenchShell());
-				operation.copyFiles(filesToCopyNames, destinationFolder);
-			} else {
-				showInstallFailedDialog(Messages.CactusAddLibrariesProposal_ErrorMessageDestDirNotFound);
-				return;
-			}
-		} catch (IOException e) {
-			JavaServerUIPlugin.log(e);
-			showInstallFailedDialog(Messages.CactusAddLibrariesProposal_ErrorMessageInstallationOfLibsFailed);
-		}
-	}
-
-	private static void showInstallFailedDialog(String message) {
-		MessageDialog.openError(JavaServerUIPlugin.getActiveWorkbenchShell(),
-				Messages.CactusAddLibrariesProposal_ErrorMessageCouldntInstallLibraries,
-				message); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public Point getSelection(IDocument document) {
-		return new Point(fContext.getSelectionOffset(), fContext.getSelectionLength());
-	}
-
-	public String getAdditionalProposalInfo() {
-		return Messages.CactusAddLibrariesProposal_AdditionalInfoAddCactusLibraries; //$NON-NLS-1$
-	}
-
-	public String getDisplayString() {
-		return Messages.CactusAddLibrariesProposal_DisplayStringAddCactusLibs; //$NON-NLS-1$
-	}
-
-	public Image getImage() {
-		return null;
-	}
-
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusQuickFixProcessor.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusQuickFixProcessor.java
deleted file mode 100644
index b756044..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/CactusQuickFixProcessor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal.cactus;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.compiler.IProblem;
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jdt.ui.text.java.IProblemLocation;
-import org.eclipse.jdt.ui.text.java.IQuickFixProcessor;
-import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin;
-
-public class CactusQuickFixProcessor implements IQuickFixProcessor {
-
-	public boolean hasCorrections(ICompilationUnit unit, int problemId) {
-		return IProblem.ImportNotFound == problemId;
-	}
-
-	public IJavaCompletionProposal[] getCorrections(IInvocationContext context,
-			IProblemLocation[] locations) throws CoreException {
-		if (isCactusProblem(context, locations))
-			return new IJavaCompletionProposal[] { new CactusAddLibrariesProposal(context) };
-		
-		return new IJavaCompletionProposal[0];
-	}
-
-	private boolean isCactusProblem(IInvocationContext context, IProblemLocation[] locations) {
-		ICompilationUnit unit = context.getCompilationUnit();
-		for (int i = 0; i < locations.length; i++) {
-			IProblemLocation location = locations[i];
-			try {
-				String s = getStringUntilWhiteSpaceOrEnd(location.getOffset(), unit);
-				if ("ServletTestCase".equals(s) || s.indexOf("org.apache.cactus") >= 0)
-					return true;
-			} catch (JavaModelException e) {
-				JavaServerUIPlugin.log(e);
-			}
-		}
-		return false;
-	}
-
-	private String getStringUntilWhiteSpaceOrEnd(int offset, ICompilationUnit unit) throws JavaModelException {
-		StringBuffer builder = new StringBuffer();
-		IBuffer buffer = unit.getBuffer();
-		int length = buffer.getLength();
-
-		for (int index = offset; index < length; index++) {
-			char c = buffer.getChar(index);
-			if (Character.isWhitespace(c))
-				return builder.toString();
-			
-			builder.append(c);
-		}
-		return builder.toString();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
deleted file mode 100644
index fa201df..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/JUnitClientDelegate.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal.cactus;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jdt.internal.junit.launcher.JUnitLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.server.core.internal.cactus.CactusLaunchable;
-import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin;
-import org.eclipse.jst.server.ui.internal.Messages;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.ClientDelegate;
-/**
- *
- */
-public class JUnitClientDelegate extends ClientDelegate {
-	public IStatus launch(IServer server, Object object, String launchMode, ILaunch launch) {
-		CactusLaunchable launchable = (CactusLaunchable) object;
-		ILaunchConfiguration config = findLaunchConfiguration(launchable, launchMode);
-		if (config == null) {
-			String testName = launchable.getTestName();
-			testName = "".equals(testName) ? launchable.getTestClassName()
-					: launchable.getTestClassName() + "." + testName + "()";
-			config = createConfiguration(launchable.getProjectName(), testName,
-					launchable.getTestClassName(), "", launchable.getTestName());
-		}
-		
-		URL url = launchable.getCactusURL();
-		String urlString = url.toString();
-		if (urlString.endsWith("/")) {
-			try {
-				url = new URL(urlString.substring(0, urlString.length() - 1));
-			} catch (MalformedURLException e) {
-				return new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.errorInternalCactus, e);
-			}
-		}
-		
-		try {
-			final ILaunchConfigurationWorkingCopy copy = config.getWorkingCopy();
-			String vmArgs;
-			vmArgs = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "");
-			copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-					vmArgs + " -Dcactus.contextURL=" + url.toString());
-			config = copy.doSave();
-			DebugUITools.launch(config, launchMode);
-		} catch (CoreException e) {
-			return new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.errorInternalCactus, e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	protected ILaunchConfiguration createConfiguration(String projectName,
-			String name, String mainType, String container, String testName) {
-		ILaunchConfiguration config = null;
-		try {
-			ILaunchConfigurationType configType = getJUnitLaunchConfigType();
-			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null,
-					DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name));
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, mainType);
-			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName);
-			wc.setAttribute(JUnitLaunchConfigurationConstants.ATTR_KEEPRUNNING, false);
-			wc.setAttribute(JUnitLaunchConfigurationConstants.ATTR_TEST_CONTAINER, container);
-			if (testName.length() > 0)
-				wc.setAttribute(JUnitLaunchConfigurationConstants.ATTR_TEST_METHOD_NAME, testName);
-			config = wc.doSave();
-		} catch (CoreException e) {
-			JavaServerUIPlugin.log(e);
-		}
-		return config;
-	}
-
-	private ILaunchConfiguration findLaunchConfiguration(CactusLaunchable launchable, String mode) {
-		String testName = launchable.getTestName();
-		String testClass = launchable.getTestClassName();
-		String javaProjectName = launchable.getProjectName();
-		String container = "";
-		ILaunchConfigurationType configType = getJUnitLaunchConfigType();
-		List candidateConfigs = Collections.EMPTY_LIST;
-		try {
-			ILaunchConfiguration[] configs = DebugPlugin.getDefault()
-					.getLaunchManager().getLaunchConfigurations(configType);
-			candidateConfigs = new ArrayList(configs.length);
-			for (int i = 0; i < configs.length; i++) {
-				ILaunchConfiguration config = configs[i];
-				// we should probably extract the JUnit internal stuff and
-				// create a new CactusLaunchConfiguration instead
-				if ((config.getAttribute(
-						JUnitLaunchConfigurationConstants.ATTR_TEST_CONTAINER, "").equals(container)) && //$NON-NLS-1$
-						(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-								"").equals(testClass)) && //$NON-NLS-1$
-						(config.getAttribute(JUnitLaunchConfigurationConstants.ATTR_TEST_METHOD_NAME, "").equals(testName)) && //$NON-NLS-1$
-						(config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME,
-								"").equals(javaProjectName))) { //$NON-NLS-1$
-					candidateConfigs.add(config);
-				}
-			}
-		} catch (CoreException e) {
-			JavaServerUIPlugin.log(e);
-		}
-		
-		// If there are no existing configs associated with the IType, create one.
-		// If there is exactly one config associated with the IType, return it.
-		// Otherwise, if there is more than one config associated with the IType,
-		// prompt the user to choose one.
-		int candidateCount = candidateConfigs.size();
-		if (candidateCount < 1)
-			return null;
-		else if (candidateCount == 1)
-			return (ILaunchConfiguration) candidateConfigs.get(0);
-		else {
-			// Prompt the user to choose a config. A null result means the user
-			// cancelled the dialog, in which case this method returns null,
-			// since cancelling the dialog should also cancel launching anything.
-			ILaunchConfiguration config = chooseConfiguration(candidateConfigs, mode);
-			if (config != null)
-				return config;
-		}
-		return null;
-	}
-
-	protected ILaunchConfiguration chooseConfiguration(List configList, String mode) {
-		IDebugModelPresentation labelProvider = DebugUITools
-				.newDebugModelPresentation();
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(
-				JavaServerUIPlugin.getActiveWorkbenchShell(), labelProvider);
-		dialog.setElements(configList.toArray());
-		dialog.setTitle(Messages.LaunchTestAction_message_selectConfiguration);
-		if (mode.equals(ILaunchManager.DEBUG_MODE))
-			dialog.setMessage(Messages.LaunchTestAction_message_selectDebugConfiguration);
-		else
-			dialog.setMessage(Messages.LaunchTestAction_message_selectRunConfiguration);
-		
-		dialog.setMultipleSelection(false);
-		int result = dialog.open();
-		labelProvider.dispose();
-		if (result == Window.OK)
-			return (ILaunchConfiguration) dialog.getFirstResult();
-		
-		return null;
-	}
-
-	protected ILaunchConfigurationType getJUnitLaunchConfigType() {
-		// might want to replace this with a custom launch configuration instead
-		ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
-		return lm.getLaunchConfigurationType("org.eclipse.jdt.junit.launchconfig");
-	}
-
-	public boolean supports(IServer server, Object launchable, String launchMode) {
-		return launchable instanceof CactusLaunchable;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java b/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
deleted file mode 100644
index 48b474f..0000000
--- a/plugins/org.eclipse.jst.server.ui/src/org/eclipse/jst/server/ui/internal/cactus/NewServletTestCaseWizard.java
+++ /dev/null
@@ -1,492 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Daniel R. Somerfield - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.server.ui.internal.cactus;
-
-import java.io.StringWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-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.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.ITypeHierarchy;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.junit.wizards.NewTestCaseWizardPageOne;
-import org.eclipse.jdt.junit.wizards.NewTestCaseWizardPageTwo;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.server.ui.internal.ImageResource;
-import org.eclipse.jst.server.ui.internal.JavaServerUIPlugin;
-import org.eclipse.jst.server.ui.internal.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-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;
-/**
- *
- */
-public class NewServletTestCaseWizard extends Wizard implements INewWizard {
-	private static final String SUPERCLASS_NAME = "org.apache.cactus.ServletTestCase"; //$NON-NLS-1$
-
-	protected static final String[] CLASSES_TO_CHECK = {
-			"org.apache.cactus.ServletTestCase", "junit.framework.TestCase", //$NON-NLS-1$ //$NON-NLS-2$
-			"org.apache.commons.logging.Log", "org.aspectj.lang.JoinPoint", //$NON-NLS-1$ //$NON-NLS-2$
-			"org.apache.commons.httpclient.HttpClient" }; //$NON-NLS-1$
-
-	protected static final String[] REQUIRED_LIBRARIES = {
-			"cactus-1.7.2.jar", "junit-3.8.1.jar", "aspectjrt-1.2.1.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			"commons-logging-1.0.4.jar", "commons-httpclient-2.0.2.jar" }; //$NON-NLS-1$ //$NON-NLS-2$
-
-	private IWorkbench fWorkbench;
-
-	private IStructuredSelection fSelection;
-
-	private NewTestCaseWizardPageTwo fPage2;
-
-	private NewTestCaseWizardPageOne fPage1;
-
-	public NewServletTestCaseWizard() {
-		super();
-		setWindowTitle(Messages.NewServletTestCaseWizard_WindowTitle);
-		setDefaultPageImageDescriptor(ImageResource
-				.getImageDescriptor(ImageResource.IMG_WIZ_CACTUS_TEST));
-	}
-
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		fWorkbench = workbench;
-		fSelection = selection;
-	}
-
-	public void addPages() {
-		super.addPages();
-		fPage2 = new NewTestCaseWizardPageTwo();
-		fPage1 = new CactusPage1(fPage2);
-		addPage(fPage1);
-		fPage1.init(getSelection());
-		addPage(fPage2);
-	}
-
-	private class CactusPage1 extends NewTestCaseWizardPageOne {
-		private Button fBeginButton;
-
-		private Button fEndButton;
-
-		private Button fBeginXXXButton;
-
-		private Button fEndXXXButton;
-
-		private Composite fCactusButtonComposite;
-
-		public CactusPage1(NewTestCaseWizardPageTwo page2) {
-			super(page2);
-		}
-
-		public void init(IStructuredSelection selection) {
-			super.init(selection);
-			validateIfJUnitProject();
-		}
-
-		public void createControl(Composite parent) {
-			super.createControl(parent);
-			setSuperClass(SUPERCLASS_NAME, true);
-		}
-
-		protected void createJUnit4Controls(Composite composite, int nColumns) {
-			// ignore
-		}
-
-		protected IStatus superClassChanged() {
-			String superClassName = getSuperClass();
-			if (superClassName == null || superClassName.trim().equals("")) { //$NON-NLS-1$
-				Status status = new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID,
-						IStatus.ERROR,
-						Messages.NewServletTestCaseWizard_WarningMessageSuperclassIsEmpty, null);
-				return status;
-			}
-
-			if (superClassName.equals("org.apache.cactus.ServletTestCase")) {
-				//Short-circuit if this IS ServletTestCase
-				return Status.OK_STATUS;
-			}
-
-			if (getPackageFragmentRoot() != null) {
-				IType type;
-				try {
-					type = resolveClassNameToType(getPackageFragmentRoot().getJavaProject(),
-							getPackageFragment(), superClassName);
-					if (type == null) {
-						Status status = new Status(
-								IStatus.WARNING,
-								JavaServerUIPlugin.PLUGIN_ID,
-								IStatus.WARNING,
-								Messages.NewServletTestCaseWizard_WarningMessageSuperclassDoesNotExist,
-								null);
-						return status;
-					}
-
-					if (type.isInterface()) {
-						Status status = new Status(
-								IStatus.WARNING,
-								JavaServerUIPlugin.PLUGIN_ID,
-								IStatus.WARNING,
-								Messages.NewServletTestCaseWizard_WarningMessageSuperclassIsInterface,
-								null);
-						return status;
-					}
-
-					ITypeHierarchy hierarchy = type.newTypeHierarchy(null);
-					IType[] superTypes = hierarchy.getAllSuperclasses(type);
-					for (int i = 0; i < superTypes.length; i++) {
-						if (superTypes[i].getFullyQualifiedName().equals(
-								"org.apache.cactus.ServletTestCase")) {
-							return Status.OK_STATUS;
-						}
-					}
-
-					Status status = new Status(
-							IStatus.WARNING,
-							JavaServerUIPlugin.PLUGIN_ID,
-							IStatus.WARNING,
-							Messages.NewServletTestCaseWizard_WarningMessageSuperclassNotServletTestCase,
-							null);
-					return status;
-
-				} catch (JavaModelException e) {
-					JavaServerUIPlugin.log(e);
-				}
-			}
-
-			return Status.OK_STATUS;
-		}
-
-		private IType resolveClassNameToType(IJavaProject jproject, IPackageFragment pack,
-				String classToTestName) throws JavaModelException {
-
-			IType type = jproject.findType(classToTestName);
-
-			// search in current package
-			if (type == null && pack != null && !pack.isDefaultPackage()) {
-				type = jproject.findType(pack.getElementName(), classToTestName);
-			}
-
-			// search in java.lang
-			if (type == null) {
-				type = jproject.findType("java.lang", classToTestName); //$NON-NLS-1$
-			}
-			return type;
-		}
-
-		protected IStatus validateIfJUnitProject() {
-			try {
-				if (checkForWebProject()) {
-					checkForCactusLibraries();
-				} else {
-					String msg = Messages.NewServletTestCaseWizard_WarningMessageSelectAWebProject;
-					MessageDialog.openWarning(getShell(),
-							Messages.NewServletTestCaseWizard_WarningTitleWebProjectRequired,
-							msg);
-					return new Status(IStatus.WARNING, JavaServerUIPlugin.PLUGIN_ID,
-							IStatus.ERROR, msg, null);
-				}
-			} catch (CoreException e) {
-				return new Status(IStatus.ERROR, JavaServerUIPlugin.PLUGIN_ID, IStatus.ERROR,
-						"Failed to check for cactus libraries.", e);
-			}
-
-			return Status.OK_STATUS;
-		}
-
-		protected void createTypeMembers(IType type, ImportsManager imports,
-				IProgressMonitor monitor) throws CoreException {
-			super.createTypeMembers(type, imports, monitor);
-			if (fBeginButton.getSelection()) {
-				generateBeginMethod(type, imports);
-			}
-
-			if (fEndButton.getSelection()) {
-				generateEndMethod(type, imports);
-			}
-
-			if (fBeginXXXButton.getSelection()) {
-				generateBeginXXXMethods(type, imports);
-			}
-
-			if (fEndXXXButton.getSelection()) {
-				generateEndXXXMethods(type, imports);
-			}
-		}
-
-		private void generateBeginMethod(IType type, ImportsManager imports)
-				throws JavaModelException {
-			StringBuffer methodBuffer = new StringBuffer();
-			methodBuffer.append("public void begin("); //$NON-NLS-1$
-			methodBuffer.append(imports.addImport("org.apache.cactus.WebRequest")); //$NON-NLS-1$
-			methodBuffer.append(" request) throws "); //$NON-NLS-1$
-			methodBuffer.append(imports.addImport("java.lang.Exception")); //$NON-NLS-1$
-			methodBuffer.append(" {\n\n\t} "); //$NON-NLS-1$
-			type.createMethod(methodBuffer.toString(), null, false, null);
-		}
-
-		private void generateEndMethod(IType type, ImportsManager imports)
-				throws JavaModelException {
-			StringBuffer methodBuffer = new StringBuffer();
-			methodBuffer.append("public void end("); //$NON-NLS-1$
-			methodBuffer.append(imports.addImport("org.apache.cactus.WebRequest")); //$NON-NLS-1$
-			methodBuffer.append(" request) throws "); //$NON-NLS-1$
-			methodBuffer.append(imports.addImport("java.lang.Exception")); //$NON-NLS-1$
-			methodBuffer.append(" {\n\n\t} "); //$NON-NLS-1$
-			type.createMethod(methodBuffer.toString(), null, false, null);
-		}
-
-		private void generateBeginXXXMethods(IType type, ImportsManager imports)
-				throws JavaModelException {
-			generateXXXMethods(type, imports, "begin"); //$NON-NLS-1$
-		}
-
-		private void generateXXXMethods(IType type, ImportsManager imports, String prefix)
-				throws JavaModelException {
-			IMethod[] testMethods = type.getMethods();
-			for (int i = 0; i < testMethods.length; i++) {
-				IMethod testMethod = testMethods[i];
-				String testMethodName = testMethod.getElementName();
-				if (testMethodName.startsWith("test")) //$NON-NLS-1$
-				{
-					String newMethodName = prefix + testMethodName.substring(4);
-					StringBuffer methodBuffer = new StringBuffer();
-					methodBuffer.append("public void "); //$NON-NLS-1$
-					methodBuffer.append(newMethodName);
-					methodBuffer.append("("); //$NON-NLS-1$
-					methodBuffer.append(imports.addImport("org.apache.cactus.WebRequest")); //$NON-NLS-1$
-					methodBuffer.append(" request) throws "); //$NON-NLS-1$
-					methodBuffer.append(imports.addImport("java.lang.Exception")); //$NON-NLS-1$
-					methodBuffer.append(" {\n\n\t} "); //$NON-NLS-1$
-					type.createMethod(methodBuffer.toString(), testMethod, false, null);
-				}
-			}
-		}
-
-		private void generateEndXXXMethods(IType type, ImportsManager imports)
-				throws JavaModelException {
-			generateXXXMethods(type, imports, "end"); //$NON-NLS-1$
-		}
-
-		protected void createMethodStubSelectionControls(Composite composite, int nColumns) {
-			super.createMethodStubSelectionControls(composite, nColumns);
-			createEmptySpace(composite);
-			fCactusButtonComposite = new Composite(composite, SWT.NONE);
-			GridData gd = new GridData();
-			gd.horizontalSpan = 3;
-			fCactusButtonComposite.setLayoutData(gd);
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 1;
-			layout.marginWidth = layout.marginHeight = 0;
-			layout.makeColumnsEqualWidth = true;
-			fCactusButtonComposite.setLayout(layout);
-
-			fBeginButton = createSelectionButton("begin()", fCactusButtonComposite); //$NON-NLS-1$
-			fEndButton = createSelectionButton("end()", fCactusButtonComposite); //$NON-NLS-1$
-			fBeginXXXButton = createSelectionButton(
-					"beginXXX() methods", fCactusButtonComposite); //$NON-NLS-1$
-			fEndXXXButton = createSelectionButton("endXXX() methods", fCactusButtonComposite); //$NON-NLS-1$
-		}
-
-		private Button createSelectionButton(String text, Composite group) {
-			Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-			button.setFont(group.getFont());
-			button.setText(text);
-			GridData data = new GridData();
-			data.horizontalAlignment = SWT.BEGINNING;
-			data.verticalAlignment = GridData.CENTER;
-			button.setLayoutData(data);
-			return button;
-		}
-	}
-
-	protected static Control createEmptySpace(Composite parent) {
-		return createEmptySpace(parent, 1);
-	}
-
-	private static Control createEmptySpace(Composite parent, int span) {
-		Label label = new Label(parent, SWT.LEFT);
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.BEGINNING;
-		gd.grabExcessHorizontalSpace = false;
-		gd.horizontalSpan = span;
-		gd.horizontalIndent = 0;
-		gd.widthHint = 0;
-		gd.heightHint = 0;
-		label.setLayoutData(gd);
-		return label;
-	}
-
-	private IStructuredSelection getSelection() {
-		return fSelection;
-	}
-
-	protected boolean checkForWebProject() throws CoreException {
-		IPackageFragmentRoot root = fPage1.getPackageFragmentRoot();
-		if (root == null)
-			return false;
-
-		IJavaProject project = root.getJavaProject();
-		IFacetedProject facetedProject = ProjectFacetsManager.create(project.getProject());
-		if (facetedProject != null) {
-			Iterator facets = facetedProject.getProjectFacets().iterator();
-			while (facets.hasNext()) {
-				IProjectFacetVersion facet = (IProjectFacetVersion) facets.next();
-				if (facet.getProjectFacet().getId().equals("jst.web")) //$NON-NLS-1$
-					return true;
-			}
-		}
-
-		return false;
-	}
-
-	protected void checkForCactusLibraries() {
-		IPackageFragmentRoot root = fPage1.getPackageFragmentRoot();
-		if (root == null)
-			return;
-
-		IJavaProject project = root.getJavaProject();
-
-		List missingLibraries = new ArrayList();
-		try {
-			for (int i = 0; i < CLASSES_TO_CHECK.length; i++) {
-				IType type = project.findType(CLASSES_TO_CHECK[i]);
-				if (type == null) {
-					missingLibraries.add(REQUIRED_LIBRARIES[i]);
-				}
-			}
-
-			if (missingLibraries.size() > 0) {
-				if (MessageDialog.openQuestion(getShell(),
-						Messages.NewServletTestCaseWizard_ErrorMessageTitleMissingLibrary,
-						NLS.bind(Messages.NewServletTestCaseWizard_ErrorMessageMissingLibrary,
-								missingLibraries.toArray()))) {
-					CactusAddLibrariesProposal.installLibraries(project.getProject());
-				}
-			}
-		} catch (JavaModelException e) {
-			JavaServerUIPlugin.log(e);
-		}
-	}
-
-	public boolean performFinish() {
-		if (finishPage(fPage1.getRunnable())) {
-			IType newClass = fPage1.getCreatedType();
-
-			IResource resource = newClass.getCompilationUnit().getResource();
-			if (resource != null) {
-				BasicNewResourceWizard.selectAndReveal(resource, fWorkbench
-						.getActiveWorkbenchWindow());
-				openResource(resource);
-			}
-			return true;
-		}
-		return false;
-	}
-
-	protected boolean finishPage(IRunnableWithProgress runnable) {
-		IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(runnable);
-		try {
-			PlatformUI.getWorkbench().getProgressService().runInUI(getContainer(), op,
-					ResourcesPlugin.getWorkspace().getRoot());
-		} catch (InvocationTargetException e) {
-			String title = Messages.NewServletTestCaseWizard_ErrorTitleNew; // NewJUnitWizard_op_error_title
-			String message = Messages.NewServletTestCaseWizard_ErrorTitleCreateOfElementFailed; // NewJUnitWizard_op_error_message
-			displayMessageDialog(e, e.getMessage(), getShell(), title, message);
-			return false;
-		} catch (InterruptedException e) {
-			return false;
-		}
-		return true;
-	}
-
-	public static void displayMessageDialog(Throwable t, String exceptionMessage,
-			Shell shell, String title, String message) {
-		StringWriter msg = new StringWriter();
-		if (message != null) {
-			msg.write(message);
-			msg.write("\n\n"); //$NON-NLS-1$
-		}
-		if (exceptionMessage == null || exceptionMessage.length() == 0)
-			msg.write(Messages.NewServletTestCaseWizard_ErrorMessageSeeErrorLog);
-		else
-			msg.write(exceptionMessage);
-		MessageDialog.openError(shell, title, msg.toString());
-	}
-
-	protected void openResource(final IResource resource) {
-		if (resource.getType() == IResource.FILE) {
-			final IWorkbenchPage activePage = getActivePage();
-			if (activePage != null) {
-				final Display display = Display.getDefault();
-				if (display != null) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							try {
-								IDE.openEditor(activePage, (IFile) resource, true);
-							} catch (PartInitException e) {
-								JavaServerUIPlugin.log(e);
-							}
-						}
-					});
-				}
-			}
-		}
-	}
-
-	private static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow activeWorkbenchWindow = getActiveWorkbenchWindow();
-		if (activeWorkbenchWindow == null)
-			return null;
-		return activeWorkbenchWindow.getActivePage();
-	}
-
-	private static IWorkbenchWindow getActiveWorkbenchWindow() {
-		IWorkbench workbench = JavaServerUIPlugin.getInstance().getWorkbench();
-		if (workbench != null)
-			return workbench.getActiveWorkbenchWindow();
-
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.classpath b/plugins/org.eclipse.wst.internet.monitor.core/.classpath
deleted file mode 100644
index bf4b258..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="monitorcore/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore b/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
deleted file mode 100644
index 29d1e04..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-monitorcore.jar
-build.xml
-temp.folder
-org.eclipse.wst.internet.monitor.core_3.0.0.jar
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.options b/plugins/org.eclipse.wst.internet.monitor.core/.options
deleted file mode 100644
index 47070ee..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.options
+++ /dev/null
@@ -1,6 +0,0 @@
-# Debugging options for the org.eclipse.wst.internet.monitor.core plugin
-
-# Turn on general debugging
-org.eclipse.wst.internet.monitor.core/debug=true
-
-org.eclipse.wst.internet.monitor.core/parsing=false
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.project b/plugins/org.eclipse.wst.internet.monitor.core/.project
deleted file mode 100644
index 93b239c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.internet.monitor.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.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.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7fe8361..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Fri Feb 23 21:16:21 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index dfce209..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:16:21 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.core/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.internet.monitor.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.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.internet.monitor.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 4c73af6..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.internet.monitor.core; singleton:=true
-Bundle-Version: 1.0.203.qualifier
-Bundle-Activator: org.eclipse.wst.internet.monitor.core.internal.MonitorPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.internet.monitor.core.internal;x-friends:="org.eclipse.wst.internet.monitor.ui",
- org.eclipse.wst.internet.monitor.core.internal.http;x-friends:="org.eclipse.wst.internet.monitor.ui",
- org.eclipse.wst.internet.monitor.core.internal.provisional;x-friends:="org.eclipse.wst.internet.monitor.ui"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/about.html b/plugins/org.eclipse.wst.internet.monitor.core/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.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 06, 2007</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.core/build.properties b/plugins/org.eclipse.wst.internet.monitor.core/build.properties
deleted file mode 100644
index b1a84a2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               .,\
-               plugin.properties,\
-               .options,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/,\
-               component.xml
-source.. = monitorcore/
-output.. = bin/
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/component.xml b/plugins/org.eclipse.wst.internet.monitor.core/component.xml
deleted file mode 100644
index c855800..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.internet">
-  <component-depends unrestricted="true"/>
-  <plugin id="org.eclipse.wst.internet.monitor.core" fragment="false"/>
-  <plugin id="org.eclipse.wst.internet.monitor.ui" fragment="false"/>
-  <plugin id="org.eclipse.wst.internet.cache" fragment="false"/>
-</component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
deleted file mode 100644
index 529e678..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/AcceptThread.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.InterruptedIOException;
-import java.net.*;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * The actual TCP/IP monitoring server. This is a thread that
- * listens on a port and relays a call to another server.
- */
-public class AcceptThread {
-	protected IMonitor monitor;
-
-	protected boolean alive = true;
-	protected ServerSocket serverSocket;
-
-	protected Thread thread;
-
-	class ServerThread extends Thread {
-		/**
-		 * ServerThread accepts incoming connections and delegates to the protocol
-		 * adapter to deal with the connection.
-		 */
-		public void run() {
-			// create a new server socket
-			try {
-				serverSocket = new ServerSocket(monitor.getLocalPort());
-				serverSocket.setSoTimeout(2000);
-				Trace.trace(Trace.FINEST, "Monitoring localhost:" + monitor.getLocalPort() + " -> " + monitor.getRemoteHost()
-						+ ":" + monitor.getRemotePort());
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not start monitoring");
-				return;
-			}
-			
-			while (alive) {
-				try {
-					// accept the connection from the client
-					Socket localSocket = serverSocket.accept();
-					
-					try {
-						// connect to the remote server
-						Socket remoteSocket = new Socket();
-						remoteSocket.setSoTimeout(10000);
-						remoteSocket.connect(new InetSocketAddress(monitor.getRemoteHost(), monitor.getRemotePort()), monitor.getTimeout());
-						
-						// relay the call through
-						String protocolId = monitor.getProtocol();
-						ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
-						adapter.connect(monitor, localSocket, remoteSocket);
-					} catch (SocketTimeoutException e) {
-						FailedConnectionThread thread2 = new FailedConnectionThread((Monitor) monitor, localSocket, Messages.errorConnectTimeout);
-						thread2.start();
-					} catch (Exception e) {
-						FailedConnectionThread thread2 = new FailedConnectionThread((Monitor) monitor, localSocket, null);
-						thread2.start();
-					}
-				} catch (InterruptedIOException e) {
-					// do nothing
-				} catch (Exception e) {
-					if (alive)
-						Trace.trace(Trace.SEVERE, "Error while monitoring", e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * AcceptThread constructor.
-	 * 
-	 * @param monitor a monitor
-	 */
-	public AcceptThread(IMonitor monitor) {
-		super();
-		this.monitor = monitor;
-	}
-	
-	/**
-	 * Start the server.
-	 */
-	public void startServer() {
-		if (thread != null)
-			return;
-		thread = new ServerThread();
-		thread.setDaemon(true);
-		thread.setPriority(Thread.NORM_PRIORITY + 1);
-		thread.start();
-		
-		Thread.yield();
-		
-		// wait up to 2 seconds for initialization
-		int i = 0;
-		while (serverSocket == null && i < 10) {
-			try {
-				Thread.sleep(200);
-			} catch (Exception e) {
-				// ignore
-			}
-			i++;
-		}
-	}
-
-	/**
-	 * Returns <code>true</code> if the server is running.
-	 * 
-	 * @return <code>true</code> if the server is running, and <code>false</code>
-	 *    otherwise
-	 */
-	public boolean isRunning() {
-		return (thread != null);
-	}
-
-	/**
-	 * Correctly close the server socket and shut down the server.
-	 */
-	public void stopServer() {
-		try {
-			alive = false;
-			thread = null;
-			
-			String protocolId = monitor.getProtocol();
-		   ProtocolAdapter adapter = MonitorPlugin.getInstance().getProtocolAdapter(protocolId);
-			adapter.disconnect(monitor);
-			if (serverSocket != null)
-				serverSocket.close();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping server", e);
-		}
-	}
-	
-	/**
-	 * Returns true if this port is in use.
-	 *
-	 * @return boolean
-	 * @param port int
-	 */
-	public static boolean isPortInUse(int port) {
-		ServerSocket s = null;
-		try {
-			s = new ServerSocket(port);
-		} catch (SocketException e) {
-			return true;
-		} catch (Exception e) {
-			return true;
-		} finally {
-			if (s != null) {
-				try {
-					s.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
deleted file mode 100644
index f1af138..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Connection.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.net.Socket;
-/**
- * 
- */
-public class Connection {
-	protected Socket in;
-	protected Socket out;
-	
-	/**
-	 * Creates a new connection.
-	 * 
-	 * @param in inbound socket
-	 * @param out outbound socket
-	 */
-	public Connection(Socket in, Socket out) {
-		this.in = in;
-		this.out = out;
-	}
-
-	/**
-	 * Close the connection.
-	 */
-	public void close() {
-		Trace.trace(Trace.FINEST, "Closing connection");
-		try {
-			in.getOutputStream().flush();
-			in.shutdownInput();
-			in.shutdownOutput();
-			
-			out.getOutputStream().flush();
-			out.shutdownInput();
-			out.shutdownOutput();
-			Trace.trace(Trace.FINEST, "Connection closed");
-		} catch (Exception ex) {
-			Trace.trace(Trace.WARNING, "Error closing connection " + this + " " + ex.getMessage());
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
deleted file mode 100644
index 76568db..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ContentFilter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * 
- */
-public class ContentFilter implements IContentFilter {
-	protected IConfigurationElement element;
-	protected ContentFilterDelegate delegate;
-	
-	protected ContentFilter(IConfigurationElement element) {
-		this.element = element;
-	}
-
-	/**
-	 * Return the id.
-	 * 
-	 * @return the id
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-	
-	/**
-	 * Returns the relative order for this filter.
-	 * 
-	 * @return the order
-	 */ 
-	public int getOrder() {
-		try {
-			return Integer.parseInt(element.getAttribute("order"));
-		} catch (Exception e) {
-			return 0;
-		}
-	}
-
-	/**
-	 * Returns the name.
-	 * 
-	 * @return the name
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	/**
-	 * Do the filtering.
-	 * 
-	 * @param request the request
-	 * @param isRequest true if request, false if response
-	 * @param content the content
-	 * @return the filtered content
-	 * @throws IOException if there is a connection problem
-	 */
-	public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException {
-		if (delegate == null) {
-			try {
-				delegate = (ContentFilterDelegate) element.createExecutableExtension("class");
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create content filter delegate: " + getId(), e);
-				return new byte[0];
-			}
-		}
-		return delegate.filter(request, isRequest, content);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java
deleted file mode 100644
index b1d4547..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/FailedConnectionThread.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.InputStream;
-import java.net.Socket;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-
-/**
- * Thread used if the connection to the server fails.
- */
-public class FailedConnectionThread extends Thread {
-	private static final int BUFFER = 2048;
-	protected Monitor monitor;
-	protected Socket socket;
-	protected String error;
-
-	public FailedConnectionThread(Monitor monitor, Socket socket, String error) {
-		super();
-		this.monitor = monitor;
-		this.socket = socket;
-		this.error = error;
-	}
-
-	public void run() {
-		Request request = new Request(monitor, IProtocolAdapter.TCPIP_PROTOCOL_ID, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
-		String err = error;
-		if (err == null)
-			err = Messages.errorConnectToServer;
-		request.addToResponse(err.getBytes());
-		
-		try {
-			InputStream in = socket.getInputStream();
-			byte[] b = new byte[BUFFER];
-			while (in.available() > 0) {
-				int n = in.read(b);
-				byte[] c = new byte[n];
-				System.arraycopy(b, 0, c, 0, n);
-				request.addToRequest(c);
-			}
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			try {
-				socket.shutdownInput();
-				socket.shutdownOutput();
-				socket.close();
-			} catch (Exception ex) {
-				// ignore
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
deleted file mode 100644
index e1d7205..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IContentFilter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * A content filter that filters specific contents from the monitor traffic
- * of a request. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IContentFilter {
-	/**
-	 * Returns the id of this filter.
-	 * Each filter has a distinct, fixed id. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * 
-	 * @return the element id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable (translated) name for this filter.
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-
-	/**
-	 * Returns the relative order of this filter.
-	 * Each filter has a relative order that allows them to be applied in the correct
-	 * order relative to each other. Lower orders are processed first.
-	 *
-	 * @return the relative order
-	 * 
-	 * [issue: CS - The schema (contentFilterns.exsd) defines an 'order' attribute.  
-	 * The comments above suggest that filters should be designed to be composable.  Is this correct?  
-	 * It would be good to make this optional if the user had no idea how his filter should be ordered.
-	 * I've found that sometimes 'low', 'medium', 'high' are adequate to handle ordering issues and are 
-	 * easier for the extension writer deal with and get a sense of the proper value to assign. ]
-	 */
-	//public int getOrder();
-
-	/**
-	 * Filter the given content from the given request. The content that has been filtered out will 
-	 * not be shown to clients of the TCP/IP monitor.
-	 * 
-	 * @param request the request that the filter will be performed on
-	 * @param isRequest set to true if the content filter applies to request monitor traffic,
-	 *    or set to false if the content filter applies to the response monitor traffic
-	 * @param content the message content to be filtered out
-	 * @return the filtered content
-	 * @throws IOException if there is an error while parsing or filtering the content
-	 */
-	public byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java
deleted file mode 100644
index 3a04ab9..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IMemento.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-	
-	/**
-	 * Returns the floating point value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not a floating point number
-	 */
-	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
-
-	/**
-	 * Returns the integer value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not an integer
-	 */
-	public Integer getInteger(String key);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Returns the boolean value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not a boolean
-	 */
-	public Boolean getBoolean(String key);
-	
-	/**
-	 * Returns a list of all the names in this memento.
-	 * 
-	 * @return a list of names
-	 */
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
deleted file mode 100644
index d10626d..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IProtocolAdapter.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-/**
- * A protocol adapter enables a monitor to support a particular network
- * protocol used to communicate between a client and server. All supported
- * protocols will be based on TCP/IP.
- * <p>
- * Protocol adapters are registered via the <code>protocolAdapaters</code>
- * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
- * plug-in. The global list of known protocol adapters is available via
- * {@link MonitorPlugin#getProtocolAdapters()}. Standard protocol
- * adapters for {@linkplain #HTTP_PROTOCOL_ID HTTP} and
- * {@linkplain #TCPIP_PROTOCOL_ID TCP/IP} are built-in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IProtocolAdapter {
-	/**
-	 * Protocol adapter id (value {@value}) for TCP/IP.
-	 * The TCP/IP protocol adapter is standard.
-	 */
-	public static String TCPIP_PROTOCOL_ID = "TCP/IP";
-
-	/**
-	 * Protocol adapter id (value {@value}) for HTTP.
-	 * The HTTP protocol adapter is standard.
-	 */
-	public static String HTTP_PROTOCOL_ID = "HTTP";
-
-	/**
-	 * Returns the id of this adapter.
-	 * Each adapter has a distinct, fixed id. Ids are intended to be used
-	 * internally as keys; they are not intended to be shown to end users.
-	 * 
-	 * @return the element id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the displayable (translated) name for this adapter.
-	 *
-	 * @return a displayable name
-	 */
-	public String getName();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java
deleted file mode 100644
index 0fffd5d..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/IStartup.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-/**
- * An interface for the startup extension point.
- * Plug-ins that register a startup extension will be activated when the monitor
- * core plug-in initializes and have an opportunity to run code that can't be
- * implemented using the normal contribution mechanisms.
- */
-public interface IStartup {
-	/**
-	 * Will be called on monitor core startup.
-	 */
-	public void startup();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java
deleted file mode 100644
index 0d5e83f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String errorInvalidLocalPort;
-	public static String errorInvalidRemotePort;
-	public static String errorInvalidRemoteHost;
-	public static String errorConnectToServer;
-	public static String errorConnectTimeout;
-	public static String monitorValid;
-	public static String errorPortInUse;
-
-	static {
-		NLS.initializeMessages(MonitorPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties
deleted file mode 100644
index 36a1ef0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Messages.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# --------------- Errors ---------------
-errorPortInUse=The TCP/IP monitor could not start because port {0} is in use.
-errorInvalidLocalPort=The local port number is invalid.
-errorInvalidRemotePort=The remote port number is invalid.
-errorInvalidRemoteHost=The remote host name is invalid.
-errorConnectToServer=Error: Could not connect to server.
-errorConnectTimeout=Error: Timeout connecting to server.
-
-monitorValid=The monitor is valid.
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
deleted file mode 100644
index 9f9093c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Monitor.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.*;
-/**
- * 
- */
-public class Monitor implements IMonitor {
-	private static final String MEMENTO_ID = "id";
-	private static final String MEMENTO_LOCAL_PORT = "local-port";
-	private static final String MEMENTO_REMOTE_HOST = "remote-host";
-	private static final String MEMENTO_REMOTE_PORT = "remote-port";
-	private static final String MEMENTO_TYPE_ID = "type-id";
-	private static final String MEMENTO_TIMEOUT = "timeout";
-
-	private static final int ADD = 0;
-	private static final int CHANGE = 1;
-
-	protected String id;
-	protected String remoteHost;
-	protected int remotePort = 80;
-	protected int localPort = 80;
-	protected String protocolId;
-	protected int timeout;
-
-	protected List requestListeners = new ArrayList(2);
-
-	/**
-	 * Create a new monitor.
-	 */
-	public Monitor() {
-		protocolId = MonitorPlugin.getInstance().getDefaultType();
-	}
-	
-	/** (non-Javadoc)
-	 * @see IMonitor#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getRemoteHost()
-	 */
-	public String getRemoteHost() {
-		return remoteHost;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getRemotePort()
-	 */
-	public int getRemotePort() {
-		return remotePort;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getLocalPort()
-	 */
-	public int getLocalPort() {
-		return localPort;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getProtocol()
-	 */
-	public String getProtocol() {
-		return protocolId;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#getTimeout()
-	 */
-	public int getTimeout() {
-		return timeout;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitor#isRunning()
-	 */
-	public boolean isRunning() {
-		if (isWorkingCopy())
-			return false;
-		return MonitorManager.getInstance().isRunning(this);
-	}
-	
-	/**
-	 * @see IMonitor#delete()
-	 */
-	public void delete() {
-		if (isWorkingCopy())
-			return;
-		MonitorManager.getInstance().removeMonitor(this);
-	}
-
-	/**
-	 * @see IMonitor#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return false;
-	}
-	
-	/**
-	 * @see IMonitor#createWorkingCopy()
-	 */
-	public IMonitorWorkingCopy createWorkingCopy() {
-		return new MonitorWorkingCopy(this);
-	}
-
-	protected void setInternal(IMonitor monitor) {
-		id = monitor.getId();
-		remoteHost = monitor.getRemoteHost();
-		remotePort = monitor.getRemotePort();
-		localPort = monitor.getLocalPort();
-		protocolId = monitor.getProtocol();
-		timeout = monitor.getTimeout();
-	}
-
-	protected void save(IMemento memento) {
-		memento.putString(MEMENTO_ID, id);
-		memento.putString(MEMENTO_TYPE_ID, protocolId);
-		memento.putInteger(MEMENTO_LOCAL_PORT, localPort);
-		memento.putString(MEMENTO_REMOTE_HOST, remoteHost);
-		memento.putInteger(MEMENTO_REMOTE_PORT, remotePort);
-		memento.putInteger(MEMENTO_TIMEOUT, timeout);
-	}
-
-	protected void load(IMemento memento) {
-		id = memento.getString(MEMENTO_ID);
-		protocolId = memento.getString(MEMENTO_TYPE_ID);
-		Integer temp = memento.getInteger(MEMENTO_LOCAL_PORT);
-		if (temp != null)
-			localPort = temp.intValue();
-		remoteHost = memento.getString(MEMENTO_REMOTE_HOST);
-		temp = memento.getInteger(MEMENTO_REMOTE_PORT);
-		if (temp != null)
-			remotePort = temp.intValue();
-		temp = memento.getInteger(MEMENTO_TIMEOUT);
-		if (temp != null)
-			timeout = temp.intValue();
-	}
-	
-	/**
-	 * @see IMonitor#start()
-	 */
-	public synchronized void start() throws CoreException {
-		if (isRunning())
-			return;
-		if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
-			throw new IllegalArgumentException();
-		
-		IStatus status = validate();
-		if (!status.isOK())
-			throw new CoreException(status);
-		
-		MonitorManager.getInstance().startMonitor(this);
-	}
-	
-	/**
-	 * @see IMonitor#start()
-	 */
-	public synchronized void stop() {
-		if (isWorkingCopy() || !MonitorManager.getInstance().exists(this))
-			throw new IllegalArgumentException();
-		if (!isRunning())
-			return;
-		MonitorManager.getInstance().stopMonitor(this);
-	}
-	
-	/**
-	 * @see IMonitor#addRequestListener(IRequestListener)
-	 */
-	public synchronized void addRequestListener(IRequestListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		if (!requestListeners.contains(listener))
-			requestListeners.add(listener);
-	}
-	
-	/**
-	 * @see IMonitor#removeRequestListener(IRequestListener)
-	 */
-	public synchronized void removeRequestListener(IRequestListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		requestListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a request event.
-	 * @param rr
-	 * @param type
-	 */
-	protected void fireRequestEvent(Request rr, int type) {
-		int size = requestListeners.size();
-		IRequestListener[] rl = new IRequestListener[size];
-		requestListeners.toArray(rl);
-
-		for (int i = 0; i < size; i++) {
-			IRequestListener listener = rl[i];
-			if (type == ADD)
-				listener.requestAdded(this, rr);
-			else if (type == CHANGE)
-				listener.requestChanged(this, rr);
-		}
-	}
-	
-	/**
-	 * Add a new request response pair.
-	 * 
-	 * @param request a request
-	 */
-	public void addRequest(Request request) {
-		fireRequestEvent(request, ADD);
-	}
-
-	/**
-	 * A request response pair has been changed.
-	 * 
-	 * @param request a request
-	 */
-	public void requestChanged(Request request) {
-		fireRequestEvent(request, CHANGE);
-	}
-	
-	/**
-	 * @see IMonitor#validate()
-	 */
-	public IStatus validate() {
-		if (localPort < 0)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null);
-		
-		if (remotePort < 0)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemotePort, null);
-		
-		if (remoteHost == null || remoteHost.length() == 0 || !isValidHostname(remoteHost))
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidRemoteHost, null);
-		
-		if (isLocalhost(remoteHost) && localPort == remotePort)
-			return new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, Messages.errorInvalidLocalPort, null);
-	
-		return Status.OK_STATUS;
-	}
-
-	protected static boolean isValidHostname(String host) {
-		if (host == null || host.trim().length() < 1)
-			return false;
-		
-		int length = host.length();
-		for (int i = 0; i < length; i++) {
-			char c = host.charAt(i);
-			if (!Character.isLetterOrDigit(c) && c != ':' && c != '.' && c != '-')
-				return false;
-		}
-		if (host.endsWith(":"))
-			return false;
-		return true;
-	}
-
-	protected static boolean isLocalhost(String host) {
-		if (host == null)
-			return false;
-		try {
-			if ("localhost".equals(host) || "127.0.0.1".equals(host))
-				return true;
-			InetAddress localHostaddr = InetAddress.getLocalHost();
-			if (localHostaddr.getHostName().equals(host))
-				return true;
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error checking for localhost", e);
-		}
-		return false;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return "Monitor [" + getId() + ", " + getProtocol() + ", " + getLocalPort() + ", "
-			+ getRemoteHost() + ", " + getRemotePort() + "]";
-	}
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof Monitor))
-			return false;
-		
-		IMonitor m = (IMonitor) obj;
-		if (m.isWorkingCopy()) {
-			m = ((IMonitorWorkingCopy) m).getOriginal();
-			if (m == null)
-				return false;
-		}
-		if (id == null && m.getId() != null)
-			return false;
-		if (id != null && !id.equals(m.getId()))
-			return false;
-		
-		if (localPort != m.getLocalPort())
-			return false;
-		if (remotePort != m.getRemotePort())
-			return false;
-		
-		if (remoteHost == null && m.getRemoteHost() != null)
-			return false;
-		if (remoteHost != null && !remoteHost.equals(m.getRemoteHost()))
-			return false;
-		
-		if (protocolId == null && m.getProtocol() != null)
-			return false;
-		if (protocolId != null && !protocolId.equals(m.getProtocol()))
-			return false;
-		
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
deleted file mode 100644
index be96a1c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorManager.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.internet.monitor.core.internal.http.ResendHTTPRequest;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.*;
-/**
- * 
- */
-public class MonitorManager {
-	private static final int ADD = 0;
-	private static final int CHANGE = 1;
-	private static final int REMOVE = 2;
-
-	// monitors
-	protected List monitors;
-	protected Map threads = new HashMap();
-	
-	protected List monitorListeners = new ArrayList();
-
-	private Preferences.IPropertyChangeListener pcl;
-	protected boolean ignorePreferenceChanges = false;
-	
-	protected Map resendMap = new HashMap();
-	
-	protected static MonitorManager instance;
-	
-	static {
-		MonitorPlugin.getInstance().executeStartups();
-	}
-	
-	/**
-	 * Return a static instance.
-	 * 
-	 * @return the instance
-	 */
-	public static MonitorManager getInstance() {
-		if (instance == null)
-			instance = new MonitorManager();
-	
-		return instance;
-	}
-	
-	private MonitorManager() {
-		loadMonitors();
-		
-		pcl = new Preferences.IPropertyChangeListener() {
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				if (ignorePreferenceChanges)
-					return;
-				String property = event.getProperty();
-				if (property.equals("monitors")) {
-					loadMonitors();
-				}
-			}
-		};
-		
-		MonitorPlugin.getInstance().getPluginPreferences().addPropertyChangeListener(pcl);
-	}
-	
-	protected void dispose() {
-		MonitorPlugin.getInstance().getPluginPreferences().removePropertyChangeListener(pcl);
-	}
-	
-	/**
-	 * Create a new monitor.
-	 * 
-	 * @return the new monitor
-	 */
-	public IMonitorWorkingCopy createMonitor() {
-		return new MonitorWorkingCopy();
-	}
-	
-	/**
-	 * Return the list of monitors.
-	 * 
-	 * @return the list of monitors
-	 */
-	public List getMonitors() {
-		return new ArrayList(monitors);
-	}
-
-	protected synchronized void addMonitor(IMonitor monitor) {
-		if (!monitors.contains(monitor))
-			monitors.add(monitor);
-		fireMonitorEvent(monitor, ADD);
-		saveMonitors();
-	}
-	
-	protected boolean isRunning(IMonitor monitor) {
-		return (threads.get(monitor) != null);
-	}
-
-	/**
-	 * Start a monitor.
-	 * 
-	 * @param monitor the monitor
-	 * @throws CoreException
-	 */
-	public void startMonitor(IMonitor monitor) throws CoreException {
-		if (!monitors.contains(monitor))
-			return;
-		
-		if (AcceptThread.isPortInUse(monitor.getLocalPort()))
-			throw new CoreException(new Status(IStatus.ERROR, MonitorPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, monitor.getLocalPort() + ""), null));
-		
-		AcceptThread thread = new AcceptThread(monitor);
-		thread.startServer();
-		threads.put(monitor, thread);
-	}
-	
-	/**
-	 * Stop a monitor.
-	 * 
-	 * @param monitor the monitor
-	 */
-	public void stopMonitor(IMonitor monitor) {
-		if (!monitors.contains(monitor))
-			return;
-		
-		AcceptThread thread = (AcceptThread) threads.get(monitor);
-		if (thread != null) {
-			thread.stopServer();
-			threads.remove(monitor);
-		}
-	}
-	
-	protected synchronized void removeMonitor(IMonitor monitor) {
-		if (monitor.isRunning())
-			stopMonitor(monitor);
-		monitors.remove(monitor);
-		fireMonitorEvent(monitor, REMOVE);
-		saveMonitors();
-	}
-	
-	protected synchronized void monitorChanged(IMonitor monitor) {
-		fireMonitorEvent(monitor, CHANGE);
-		saveMonitors();
-	}
-	
-	protected boolean exists(IMonitor monitor) {
-		return (monitors.contains(monitor));
-	}
-	
-	/**
-	 * Add monitor listener.
-	 * 
-	 * @param listener
-	 */
-	public synchronized void addMonitorListener(IMonitorListener listener) {
-		if (!monitorListeners.contains(listener))
-			monitorListeners.add(listener);
-	}
-
-	/**
-	 * Remove monitor listener.
-	 * 
-	 * @param listener
-	 */
-	public synchronized void removeMonitorListener(IMonitorListener listener) {
-		if (monitorListeners.contains(listener))
-			monitorListeners.remove(listener);
-	}
-	
-	/**
-	 * Fire a monitor event.
-	 * 
-	 * @param monitor the monitor
-	 * @param type the type of event
-	 */
-	protected void fireMonitorEvent(IMonitor monitor, int type) {
-		Object[] obj = monitorListeners.toArray();
-		
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			IMonitorListener listener = (IMonitorListener) obj[i];
-			if (type == ADD)
-				listener.monitorAdded(monitor);
-			else if (type == CHANGE)
-				listener.monitorChanged(monitor);
-			else if (type == REMOVE)
-				listener.monitorRemoved(monitor);
-		}
-	}
-
-	protected synchronized void loadMonitors() {
-		Trace.trace(Trace.FINEST, "Loading monitors");
-		
-		monitors = new ArrayList();
-		Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
-		String xmlString = prefs.getString("monitors");
-		if (xmlString != null && xmlString.length() > 0) {
-			try {
-				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
-				IMemento memento = XMLMemento.loadMemento(in);
-		
-				IMemento[] children = memento.getChildren("monitor");
-				if (children != null) {
-					int size = children.length;
-					for (int i = 0; i < size; i++) {
-						Monitor monitor = new Monitor();
-						monitor.load(children[i]);
-						monitors.add(monitor);
-					}
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load monitors: " + e.getMessage());
-			}
-		}
-	}
-	
-	protected synchronized void saveMonitors() {
-		try {
-			ignorePreferenceChanges = true;
-			XMLMemento memento = XMLMemento.createWriteRoot("monitors");
-
-			Iterator iterator = monitors.iterator();
-			while (iterator.hasNext()) {
-				Monitor monitor = (Monitor) iterator.next();
-				IMemento child = memento.createChild("monitor");
-				monitor.save(child);
-			}
-			
-			String xmlString = memento.saveToString();
-			Preferences prefs = MonitorPlugin.getInstance().getPluginPreferences();
-			prefs.setValue("monitors", xmlString);
-			MonitorPlugin.getInstance().savePluginPreferences();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not save browsers", e);
-		}
-		ignorePreferenceChanges = false;
-	}
-	
-	/**
-	 * Creates a new resend request from the given request.
-	 * 
-	 * @param request the request that is to be resent; may not be <code>null</code>
-	 * @return a new resend request
-	 */
-	public static ResendHTTPRequest createResendRequest(Request request) {
-		if (request == null)
-			throw new IllegalArgumentException();
-		return new ResendHTTPRequest((Monitor)request.getMonitor(), request);
-	}
-
-	/**
-	 * Adds a resend request to this request.
-	 * 
-	 * @param request the resend request to add
-	 * @param resendReq the resend request
-	 */
-	public void addResendRequest(Request request, ResendHTTPRequest resendReq) {
-		if (request == null || resendReq == null)
-			return;
-		
-		List list = null;
-		try {
-			list = (List) resendMap.get(request);
-		} catch (Exception e) {
-			// ignore
-		}
-		
-		if (list == null) {
-			list = new ArrayList();
-			resendMap.put(request, list);
-		}
-		list.add(resendReq);
-	}
-
-	/**
-	 * Returns an array of resend requests based on this request. 
-	 * 
-	 * @param request a request
-	 * @return the array of resend requests based on this request
-	 */
-	public ResendHTTPRequest[] getResendRequests(Request request) {
-		List list = (List) resendMap.get(request);
-		if (list != null)
-			return (ResendHTTPRequest[]) list.toArray(new ResendHTTPRequest[list.size()]);
-
-		return new ResendHTTPRequest[0];
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
deleted file mode 100644
index 8c805de..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorPlugin.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-/**
- * The monitor core plugin.
- */
-public class MonitorPlugin extends Plugin {
-	/**
-	 * The plugin/bundle id.
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.wst.internet.monitor.core";
-
-	private static MonitorPlugin singleton;
-	
-	protected Map protocolAdapters;
-	protected Map contentFilters;
-	protected boolean startupsLoaded;
-
-	/**
-	 * MonitorPlugin constructor comment.
-	 */
-	public MonitorPlugin() {
-		super();
-		singleton = this;
-		loadProtocolAdapters();
-		loadContentFilters();
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return org.eclipse.wst.internet.monitor.core.MonitorPlugin
-	 */
-	public static MonitorPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Returns the default protocol type.
-	 * 
-	 * @return the protocol
-	 */
-	public String getDefaultType() {
-		return "HTTP";
-	}
-
-	/**
-	 * Returns the protocol adapter with the given id, or <code>null</code>
-	 * if none. This convenience method searches the list of known
-	 * protocol adapters ({@link #getProtocolAdapters()}) for the one with a
-	 * matching id.
-	 *
-	 * @param id the protocol adapter id; must not be <code>null</code>
-	 * @return the protocol adapter instance, or <code>null</code> if there
-	 *   is no protocol adapter with the given id
-	 */
-	public ProtocolAdapter getProtocolAdapter(String id) {
-		return (ProtocolAdapter) protocolAdapters.get(id);
-	}
-
-	/**
-	 * Returns a list of all known protocol adapter instances.
-	 * <p>
-	 * Protocol adapters are registered via the <code>protocolAdapaters</code>
-	 * extension point in the <code>org.eclipse.wst.internet.monitor.core</code>
-	 * plug-in.
-	 * </p>
-	 * <p>
-	 * A new array is returned on each call; clients may safely store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of protocol adapter instances
-	 */
-	public ProtocolAdapter[] getProtocolAdapters() {
-		List list = new ArrayList();
-		Iterator iterator = protocolAdapters.values().iterator();
-		while (iterator.hasNext()) {
-			list.add(iterator.next());
-		}
-		ProtocolAdapter[] types = new ProtocolAdapter[list.size()];
-		list.toArray(types);
-		return types;
-	}
-
-	/**
-	 * Return the content filters.
-	 * 
-	 * @return an array of content filters
-	 */
-	public IContentFilter[] getContentFilters() {
-		List list = new ArrayList();
-		Iterator iterator = contentFilters.values().iterator();
-		while (iterator.hasNext()) {
-			list.add(iterator.next());
-		}
-		IContentFilter[] cf = new IContentFilter[list.size()];
-		list.toArray(cf);
-		return cf;
-	}
-
-	/**
-	 * Find a content filter by the id.
-	 * 
-	 * @param id an id
-	 * @return the content filter, or <code>null</code> if it couldn't be found
-	 */
-	public IContentFilter findContentFilter(String id) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		return (IContentFilter) contentFilters.get(id);
-	}
-
-	protected synchronized void loadProtocolAdapters() {
-		if (protocolAdapters != null)
-			return;
-		Trace.trace(Trace.CONFIG, "Loading protocol adapters"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalProtocolAdapters");
-
-		int size = cf.length;
-		Map map = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading adapter: " + id);
-			map.put(id, new ProtocolAdapter(cf[i]));
-		}
-		protocolAdapters = map;
-	}
-
-	protected synchronized void loadContentFilters() {
-		if (contentFilters != null)
-			return;
-		Trace.trace(Trace.CONFIG, "Loading content filters"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalContentFilters");
-
-		int size = cf.length;
-		Map map = new HashMap(size);
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading filter: " + id);
-			map.put(id, new ContentFilter(cf[i]));
-		}
-		contentFilters = map;
-	}
-
-	protected synchronized void executeStartups() {
-		if (startupsLoaded)
-			return;
-		
-		Trace.trace(Trace.CONFIG, "Loading startups"); 
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		IConfigurationElement[] cf = registry.getConfigurationElementsFor(MonitorPlugin.PLUGIN_ID, "internalStartup");
-		
-		int size = cf.length;
-		for (int i = 0; i < size; i++) {
-			String id = cf[i].getAttribute("id");
-			Trace.trace(Trace.CONFIG, "Loading startup: " + id);
-			try {
-				IStartup startup = (IStartup) cf[i].createExecutableExtension("class");
-				try {
-					startup.startup();
-				} catch (Exception ex) {
-					Trace.trace(Trace.SEVERE, "Startup failed" + startup.toString(), ex);
-				}
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create startup: " + id, e);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
deleted file mode 100644
index 519de72..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/MonitorWorkingCopy.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
-/**
- * 
- */
-public class MonitorWorkingCopy extends Monitor implements IMonitorWorkingCopy {
-	protected Monitor monitor;
-	
-	/**
-	 * Create a new monitor working copy. (used for initial creation)
-	 */
-	public MonitorWorkingCopy() {
-		// do nothing
-	}
-
-	/**
-	 * Create a new monitor working copy. (used for working copies)
-	 * 
-	 * @param monitor the monitor this working copy is for
-	 */
-	public MonitorWorkingCopy(Monitor monitor) {
-		this.monitor = monitor;
-		setInternal(monitor);
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#getOriginal()
-	 */
-	public IMonitor getOriginal() {
-		return monitor;
-	}
-
-	/**
-	 * Set the id.
-	 * 
-	 * @param newId the id
-	 */
-	public void setId(String newId) {
-		id = newId;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setRemoteHost(String)
-	 */
-	public void setRemoteHost(String host) {
-		remoteHost = host;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setRemotePort(int)
-	 */
-	public void setRemotePort(int port) {
-		remotePort = port;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setLocalPort(int)
-	 */
-	public void setLocalPort(int port) {
-		localPort = port;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setProtocol(String)
-	 */
-	public void setProtocol(String protocolId2) {
-		protocolId = protocolId2;
-	}
-
-	/** (non-Javadoc)
-	 * @see IMonitorWorkingCopy#setTimeout(int)
-	 */
-	public void setTimeout(int timeout2) {
-		timeout = timeout2;
-	}
-
-	/**
-	 * @see IMonitor#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	/**
-	 * @see IMonitor#createWorkingCopy()
-	 */
-	public IMonitorWorkingCopy createWorkingCopy() {
-		return this;
-	}
-
-	/**
-	 * @see IMonitorWorkingCopy#save()
-	 */
-	public synchronized IMonitor save() {
-		MonitorManager mm = MonitorManager.getInstance();
-		if (monitor != null) {
-			//boolean restart = false;
-			if (monitor.isRunning()) {
-				//restart = true;
-				mm.stopMonitor(monitor);
-			}
-			monitor.setInternal(this);
-			mm.monitorChanged(monitor);
-			//if (restart)
-			//	mm.startMonitor(monitor);
-		} else {
-			monitor = new Monitor();
-			monitor.setInternal(this);
-			mm.addMonitor(monitor);
-		}
-		return monitor;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
deleted file mode 100644
index 44f8c0e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapter.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * 
- */
-public class ProtocolAdapter implements IProtocolAdapter {
-	protected IConfigurationElement element;
-	protected ProtocolAdapterDelegate delegate;
-
-	protected ProtocolAdapter(IConfigurationElement element) {
-		this.element = element;
-	}
-
-	/**
-	 * @see IProtocolAdapter#getId()
-	 */
-	public String getId() {
-		return element.getAttribute("id");
-	}
-
-	/**
-	 * @see IProtocolAdapter#getName()
-	 */
-	public String getName() {
-		return element.getAttribute("name");
-	}
-
-	protected ProtocolAdapterDelegate getDelegate() {
-		if (delegate != null)
-			return delegate;
-		
-		try {
-			delegate = (ProtocolAdapterDelegate) element.createExecutableExtension("class");
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not create protocol adapter delegate: " + getId(), e);
-		}
-		return delegate;
-	}
-
-	/**
-	 * Connect with the protocol.
-	 * 
-	 * @param monitor a monitor
-	 * @param in an inbound socket
-	 * @param out an outbound socket
-	 * @throws IOException
-	 */
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		getDelegate().connect(monitor, in, out);
-	}
-
-	/**
-	 * Disconnect from the sockets.
-	 * 
-	 * @param monitor a monitor
-	 * @throws IOException
-	 */
-	public void disconnect(IMonitor monitor) throws IOException {
-		getDelegate().disconnect(monitor);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
deleted file mode 100644
index eef98e5..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/ProtocolAdapterDelegate.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * Abstract base class for protocol adapter delegates, which provide the
- * implementation behind a particular protocol adapter.
- * A protocol adapter watches the message traffic passing between client and
- * server; it parses the messages and reports them in the form of 
- * Request objects.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>protocolAdapters</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the delegate when required. 
- * </p>
- * <p>
- * There is only one delegate created per protocol, and this delegate must
- * be able to handle multiple monitor instances. This means that the delegate
- * typically will not have instance state, or must synchronize and keep the
- * state separate.
- * </p>
- * <p>
- * [issue: The HTTP and TCP/IP delegate implementations create threads which
- * shuffle info between sockets. If the monitor is changed or deleted, how do
- * these threads go away? Methinks that delegates in general should be forced
- * to implement disconnect(IMonitor) as well. This method would be called by the
- * system when the monitor is changed or deleted, or when the plug-in is
- * being shut down.]
- * </p>
- */
-public abstract class ProtocolAdapterDelegate {
-	/**
-	 * Establishes an ongoing connection between client and server being
-	 * monitored by the given monitor. The <code>in</code> socket is associated
-	 * with the monitor's client. The <code>out</code> socket is associated with
-	 * the monitor's server. Different adapaters handle different network
-	 * protocols.
-	 * <p>
-	 * Subclasses must implement this method to achieve the following:
-	 * <ul>
-	 * <li>Client to server communication -
-	 * Opening an input stream on the <code>in</code> socket, opening an output
-	 * stream on the <code>out</code> socket, and establishing a mechanism that
-	 * will pass along all bytes received on the input stream to the output
-	 * stream.</li>
-	 * <li>Server to client communication - Opening an input stream on the
-	 * <code>out</code> socket, opening an output stream on the <code>in</code>
-	 * socket, and establishing a mechanism that will pass along all bytes
-	 * received on the input stream to the output stream.</li>
-	 * <li>Parsing the protocol-specific message traffic to create and report
-	 * request objects for each message passed between client and server.</li>
-	 * <li>Closing the input and output sockets and otherwise cleaning up
-	 * afterwards.</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param monitor the monitor that uses this protocol adapter
-	 * @param in the input socket of the monitor client
-	 * @param out the output socket of the monitor server
-	 * @throws IOException if an exception occur when opening the streams of the
-	 *    input or output sockets
-	 */
-	public abstract void connect(IMonitor monitor, Socket in, Socket out) throws IOException;
-	
-	/**
-	 * Called if the monitor is changed or deleted, or the plugin is shutting down.
-	 * The delegate must clean up the connections and threads created to respond to
-	 * this monitor. 
-	 * 
-	 * @param monitor
-	 * @throws IOException
-	 */
-	public abstract void disconnect(IMonitor monitor) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
deleted file mode 100644
index 62b4dd9..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/SocketWrapper.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.SocketAddress;
-import java.net.SocketException;
-import java.nio.channels.SocketChannel;
-/**
- * A socket that is only used for resending requests. All input operations are
- * ignored.
- */
-public class SocketWrapper extends Socket {
-	private InputStream inputStream;
-	private OutputStream outputStream;
-	
-	/**
-	 * Create a new socket wrapper.
-	 * 
-	 * @param inputStream
-	 */
-	public SocketWrapper(InputStream inputStream) {
-	  this.inputStream = inputStream;
-	  this.outputStream = new DummyOutputStream();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#bind(java.net.SocketAddress)
-	 */
-	public void bind(SocketAddress arg0) throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#close()
-	 */
-	public synchronized void close() throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#connect(java.net.SocketAddress, int)
-	 */
-	public void connect(SocketAddress arg0, int arg1) throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#connect(java.net.SocketAddress)
-	 */
-	public void connect(SocketAddress arg0) throws IOException {
-		// do nothing
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getChannel()
-	 */
-	public SocketChannel getChannel() {
-		return super.getChannel();
-	}
-	
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getInetAddress()
-	 */
-	public InetAddress getInetAddress() {
-		return super.getInetAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getInputStream()
-	 */
-	public InputStream getInputStream() throws IOException {
-		return inputStream;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getKeepAlive()
-	 */
-	public boolean getKeepAlive() throws SocketException {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getLocalAddress()
-	 */
-	public InetAddress getLocalAddress() {
-		return super.getLocalAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getLocalPort()
-	 */
-	public int getLocalPort() {
-		return super.getLocalPort();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getLocalSocketAddress()
-	 */
-	public SocketAddress getLocalSocketAddress() {
-		return super.getLocalSocketAddress();
-	}
-	
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getOOBInline()
-	 */
-	public boolean getOOBInline() throws SocketException {
-		return super.getOOBInline();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getOutputStream()
-	 */
-	public OutputStream getOutputStream() throws IOException {
-		return outputStream;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getPort()
-	 */
-	public int getPort() {
-		return super.getPort();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getReceiveBufferSize()
-	 */
-	public synchronized int getReceiveBufferSize() throws SocketException {
-		return super.getReceiveBufferSize();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getRemoteSocketAddress()
-	 */
-	public SocketAddress getRemoteSocketAddress() {
-		return super.getRemoteSocketAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getReuseAddress()
-	 */
-	public boolean getReuseAddress() throws SocketException {
-		return super.getReuseAddress();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getSendBufferSize()
-	 */
-	public synchronized int getSendBufferSize() throws SocketException {
-		return super.getSendBufferSize();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getSoLinger()
-	 */
-	public int getSoLinger() throws SocketException {
-		return super.getSoLinger();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getSoTimeout()
-	 */
-	public synchronized int getSoTimeout() throws SocketException {
-		return super.getSoTimeout();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getTcpNoDelay()
-	 */
-	public boolean getTcpNoDelay() throws SocketException {
-		return super.getTcpNoDelay();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#getTrafficClass()
-	 */
-	public int getTrafficClass() throws SocketException {
-		return super.getTrafficClass();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isBound()
-	 */
-	public boolean isBound() {
-		return super.isBound();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isClosed()
-	 */
-	public boolean isClosed() {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isConnected()
-	 */
-	public boolean isConnected() {
-		return true;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isInputShutdown()
-	 */
-	public boolean isInputShutdown() {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#isOutputShutdown()
-	 */
-	public boolean isOutputShutdown() {
-		return false;
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#sendUrgentData(int)
-	 */
-	public void sendUrgentData(int arg0) throws IOException {
-		super.sendUrgentData(arg0);
-	}
-	
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setKeepAlive(boolean)
-	 */
-	public void setKeepAlive(boolean arg0) throws SocketException {
-		super.setKeepAlive(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setOOBInline(boolean)
-	 */
-	public void setOOBInline(boolean arg0) throws SocketException {
-		super.setOOBInline(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setReceiveBufferSize(int)
-	 */
-	public synchronized void setReceiveBufferSize(int arg0) throws SocketException {
-		super.setReceiveBufferSize(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setReuseAddress(boolean)
-	 */
-	public void setReuseAddress(boolean arg0) throws SocketException {
-		super.setReuseAddress(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setSendBufferSize(int)
-	 */
-	public synchronized void setSendBufferSize(int arg0) throws SocketException {
-		super.setSendBufferSize(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setSoLinger(boolean, int)
-	 */
-	public void setSoLinger(boolean arg0, int arg1) throws SocketException {
-		super.setSoLinger(arg0, arg1);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setSoTimeout(int)
-	 */
-	public synchronized void setSoTimeout(int arg0) throws SocketException {
-		super.setSoTimeout(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setTcpNoDelay(boolean)
-	 */
-	public void setTcpNoDelay(boolean arg0) throws SocketException {
-		super.setTcpNoDelay(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#setTrafficClass(int)
-	 */
-	public void setTrafficClass(int arg0) throws SocketException {
-		super.setTrafficClass(arg0);
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#shutdownInput()
-	 */
-	public void shutdownInput() throws IOException {
-		inputStream.close();
-	}
-
-	/** (non-Javadoc)
-	 * @see java.net.Socket#shutdownOutput()
-	 */
-	public void shutdownOutput() throws IOException {
-		// do nothing
-	}
-
-	/**
-	 * A dummy OutputStream that allows us to fake output for a socket.
-	 */
-	public class DummyOutputStream extends OutputStream {
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#close()
-		 */
-		public void close() throws IOException {
-			// do nothing
-		}
-		
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#flush()
-		 */
-		public void flush() throws IOException {
-			// do nothing
-		}
-	
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#write(byte[], int, int)
-		 */
-		public void write(byte[] arg0, int arg1, int arg2) throws IOException {
-			// do nothing
-		}
-	
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#write(byte[])
-		 */
-		public void write(byte[] arg0) throws IOException {
-			// do nothing
-		}
-
-		/** (non-Javadoc)
-		 * @see java.io.OutputStream#write(int)
-		 */
-		public void write(int arg0) throws IOException {
-			// do nothing
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
deleted file mode 100644
index 860fb9e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPProtocolAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * 
- */
-public class TCPIPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map map = new HashMap();
-	
-	/**
-	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
-	 */
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		Request request = new Request((Monitor) monitor, IProtocolAdapter.TCPIP_PROTOCOL_ID, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
-		Connection conn = new Connection(in, out);
-		map.put(monitor, conn);
-		TCPIPThread requestThread = new TCPIPThread(conn, request, in.getInputStream(), out.getOutputStream(), true);
-		requestThread.start();
-		new TCPIPThread(conn, request, out.getInputStream(), in.getOutputStream(), false).start();
-	}
-
-	/**
-	 * @see ProtocolAdapterDelegate#disconnect(IMonitor)
-	 */
-	public void disconnect(IMonitor monitor) throws IOException {
-		try {
-			Connection conn = (Connection) map.get(monitor);
-			conn.close();
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java
deleted file mode 100644
index 3b750c6..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/TCPIPThread.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.*;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Monitor server I/O thread.
- */
-public class TCPIPThread extends Thread {
-	private static final int BUFFER = 2048;
-	protected InputStream in;
-	protected OutputStream out;
-	protected boolean isRequest;
-	
-	protected Connection conn;
-	protected Request request;
-
-	/**
-	 * Create a new TCP/IP thread.
-	 * 
-	 * @param conn
-	 * @param request
-	 * @param in
-	 * @param out
-	 * @param isRequest
-	 */
-	public TCPIPThread(Connection conn, Request request, InputStream in, OutputStream out, boolean isRequest) {
-		super();
-		this.conn = conn;
-		this.request = request;
-		this.in = in;
-		this.out = out;
-		this.isRequest = isRequest;
-		setPriority(Thread.NORM_PRIORITY + 1);
-		setDaemon(true);
-	}
-
-	/**
-	 * Listen for input, save it, and pass to the output stream.
-	 */
-	public void run() {
-		try {
-			byte[] b = new byte[BUFFER];
-			int n = in.read(b);
-			while (n > 0) {
-				out.write(b, 0, n);
-				if (b != null && n > 0) {
-					byte[] x = null;
-					if (n == BUFFER)
-						x = b;
-					else {
-						x = new byte[n];
-						System.arraycopy(b, 0, x, 0, n);
-					}
-					if (isRequest)
-						request.addToRequest(x);
-					else
-						request.addToResponse(x);
-				}
-				n = in.read(b);
-				Thread.yield();
-			}
-			out.flush();
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			//request.fireChangedEvent();
-			if (!isRequest)
-				conn.close();
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
deleted file mode 100644
index 48b722a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/Trace.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Config trace event.
-	 */
-	public static final byte CONFIG = 0;
-	
-	/**
-	 * Warning trace event.
-	 */
-	public static final byte WARNING = 1;
-	
-	/**
-	 * Severe trace event.
-	 */
-	public static final byte SEVERE = 2;
-	
-	/**
-	 * Finest trace event.
-	 */
-	public static final byte FINEST = 3;
-	
-	/**
-	 * Parsing trace event.
-	 */
-	public static final byte PARSING = 4;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!MonitorPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(MonitorPlugin.PLUGIN_ID + " " + System.currentTimeMillis() + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
deleted file mode 100644
index 8a2305c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/XMLMemento.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal;
-
-import java.io.*;
-import java.util.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-/**
- * A Memento is a class independent container for persistence
- * info.  It is a reflection of 3 storage requirements.
- *
- * 1)   We need the ability to persist an object and restore it.  
- * 2)   The class for an object may be absent.  If so we would 
- *      like to skip the object and keep reading. 
- * 3)   The class for an object may change.  If so the new class 
- *      should be able to read the old persistence info.
- *
- * We could ask the objects to serialize themselves into an 
- * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
- * all of these approaches fail to meet the second requirement.
- *
- * Memento supports binary persistance with a version ID.
- */
-public final class XMLMemento implements IMemento {
-	private Document factory;
-	private Element element;
-
-	/**
-	 * Answer a memento for the document and element.  For simplicity
-	 * you should use createReadRoot and createWriteRoot to create the initial
-	 * mementos on a document.
-	 */
-	private XMLMemento(Document doc, Element el) {
-		factory = doc;
-		element = el;
-	}
-
-	/**
-	 * @see IMemento#createChild(String)
-	 */
-	public IMemento createChild(String type) {
-		Element child = factory.createElement(type);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * @see IMemento#createChild(String, String)
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * Create a Document from a Reader and answer a root memento for reading 
-	 * a document.
-	 */
-	protected static XMLMemento createReadRoot(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (ParserConfigurationException e) {
-			// ignore
-		} catch (IOException e) {
-			// ignore
-		} catch (SAXException e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param type
-	 * @return a memento
-	 */
-	public static XMLMemento createWriteRoot(String type) {
-		Document document;
-		try {
-			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-			Element element = document.createElement(type);
-			document.appendChild(element);
-			return new XMLMemento(document, element);            
-		} catch (ParserConfigurationException e) {
-			throw new Error(e);
-		}
-	}
-	
-	/**
-	 * @see IMemento#getChild(String)
-	 */
-	public IMemento getChild(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-	
-		// Find the first node which is a child of this node.
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					return new XMLMemento(factory, element2);
-			}
-		}
-	
-		// A child was not found.
-		return null;
-	}
-
-	/**
-	 * @see IMemento#getChildren(String)
-	 */
-	public IMemento [] getChildren(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return new IMemento[0];
-	
-		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					list.add(element2);
-			}
-		}
-	
-		// Create a memento for each node.
-		size = list.size();
-		IMemento [] results = new IMemento[size];
-		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
-		}
-		return results;
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return the input stream
-	 * @throws IOException
-	 */
-	public InputStream getInputStream() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return new ByteArrayInputStream(out.toByteArray());
-	}
-
-	/**
-	 * @see IMemento#getFloat(String)
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * @see IMemento#getId()
-	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/**
-	 * @see IMemento#getName()
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/**
-	 * @see IMemento#getInteger(String)
-	 */
-	public Integer getInteger(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Integer(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * @see IMemento#getString(String)
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	/**
-	 * @see IMemento#getNames()
-	 */
-	public List getNames() {
-		NamedNodeMap map = element.getAttributes();
-		int size = map.getLength();
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			Node node = map.item(i);
-			String name = node.getNodeName();
-			list.add(name);
-		}
-		return list;
-	}
-
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param in the input stream
-	 * @return a memento
-	 */
-	public static IMemento loadMemento(InputStream in) {
-		return createReadRoot(in);
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/**
-	 * @see IMemento#putFloat(String, float)
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/**
-	 * @see IMemento#putInteger(String, int)
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/**
-	 * @see IMemento#putMemento(IMemento)
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/**
-	 * @see IMemento#putString(String, String)
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to an output stream.
-	 * 
-	 * @param os
-	 * @throws IOException
-	 */
-	public void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-			transformer.transform(source, result);            
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Save to string.
-	 * 
-	 * @return the string
-	 * @throws IOException
-	 */
-	public String saveToString() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toString("UTF-8");
-	}
-
-	/**
-	 * @see IMemento#getBoolean(String)
-	 */
-	public Boolean getBoolean(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		if ("true".equalsIgnoreCase(strValue))
-			return new Boolean(true);
-		
-		return new Boolean(false);
-	}
-
-	/**
-	 * @see IMemento#putBoolean(String, boolean)
-	 */
-	public void putBoolean(String key, boolean value) {
-		element.setAttribute(key, value ? "true" : "false");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
deleted file mode 100644
index f2e5561..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPConnection.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-
-import java.util.List;
-import java.util.ArrayList;
-/**
- * Manages a monitor server connection between two hosts. This
- * connection may spawn one or more TCP/IP requests to be displayed
- * in the monitor server view.
- */
-public class HTTPConnection {
-	protected IMonitor monitor;
-
-	protected int req = -1;
-	protected int resp = -1;
-
-	protected List requests = new ArrayList();
-
-	/**
-	 * HTTPConnection constructor comment.
-	 * 
-	 * @param monitor a monitor
-	 */
-	public HTTPConnection(IMonitor monitor) {
-		super();
-		this.monitor = monitor;
-		Trace.trace(Trace.PARSING, "TCP/IP monitor connection opened " + monitor);
-	}
-
-	/**
-	 * Add a request.
-	 * 
-	 * @param b the request data
-	 * @param isNew true if new
-	 */
-	public void addRequest(byte[] b, boolean isNew) {
-		if (isNew)
-			req ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(req);
-		request.addToRequest(b);
-	}
-
-	/**
-	 * Add a response.
-	 * 
-	 * @param b the response data
-	 * @param isNew true if new
-	 */
-	public void addResponse(byte[] b, boolean isNew) {
-		if (isNew)
-			resp ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(resp);
-		request.addToResponse(b);
-	}
-
-	/**
-	 * Add a property.
-	 * 
-	 * @param key
-	 * @param value
-	 */
-	public void addProperty(String key, Object value) {
-		Request request = getRequestResponse(req);
-		request.setProperty(key, value);
-	}
-
-	/**
-	 * Get the request.
-	 * 
-	 * @param isRequest
-	 * @return the request
-	 */
-	public Request getRequestResponse(boolean isRequest) {
-		if (isRequest)
-			return getRequestResponse(req);
-		
-		return getRequestResponse(resp);
-	}
-
-	/**
-	 * 
-	 */
-	protected Request getRequestResponse(int i) {
-		synchronized (this) {
-			while (i >= requests.size()) {
-				Request request = new HTTPRequest((Monitor) monitor, monitor.getLocalPort(), monitor.getRemoteHost(), monitor.getRemotePort());
-				requests.add(request);
-				return request;
-			}
-			return (Request) requests.get(i);
-		}
-	}
-
-	/**
-	 * Set the title.
-	 * 
-	 * @param title the title
-	 * @param isNew boolean
-	 */
-	public void setLabel(String title, boolean isNew) {
-		if (isNew)
-			req ++;
-		HTTPRequest request = (HTTPRequest) getRequestResponse(req);
-		request.setName(title);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
deleted file mode 100644
index 931d70e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPProtocolAdapter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.IOException;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.ProtocolAdapterDelegate;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
-/**
- * 
- */
-public class HTTPProtocolAdapter extends ProtocolAdapterDelegate {
-	protected Map map = new HashMap();
-
-	/**
-	 * @see ProtocolAdapterDelegate#connect(IMonitor, Socket, Socket)
-	 */
-	public void connect(IMonitor monitor, Socket in, Socket out) throws IOException {
-		Connection conn2 = new Connection(in, out);
-		map.put(monitor, conn2);
-		HTTPConnection conn = new HTTPConnection(monitor);
-		HTTPThread request = new HTTPThread(conn2, in.getInputStream(), out.getOutputStream(), conn, true, monitor.getRemoteHost(), monitor.getRemotePort());
-		HTTPThread response = new HTTPThread(conn2, out.getInputStream(), in.getOutputStream(), conn, false, "localhost", monitor.getLocalPort(), request);
-		request.start();
-		response.start();
-	}
-
-	/**
-	 * @see ProtocolAdapterDelegate#disconnect(IMonitor)
-	 */
-	public void disconnect(IMonitor monitor) throws IOException {
-		try {
-			Connection conn = (Connection) map.get(monitor);
-			if (conn != null)
-				conn.close();
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java
deleted file mode 100644
index fc78cb4..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPRequest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.internal.IProtocolAdapter;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * 
- */
-public class HTTPRequest extends Request {
-	protected static final String HTTP_REQUEST_HEADER = "request-header";
-	protected static final String HTTP_RESPONSE_HEADER = "response-header";
-
-	protected static final String HTTP_REQUEST_BODY = "request-body";
-	protected static final String HTTP_RESPONSE_BODY = "response-body";
-
-	protected static final byte[] EMPTY = new byte[0];
-
-	/**
-	 * Create an HTTPRequest.
-	 * 
-	 * @param monitor
-	 * @param localPort
-	 * @param remoteHost
-	 * @param remotePort
-	 */
-	public HTTPRequest(Monitor monitor, int localPort, String remoteHost, int remotePort) {
-		super(monitor, IProtocolAdapter.HTTP_PROTOCOL_ID, localPort, remoteHost, remotePort);
-	}
-
-	/**
-	 * @see Request#getRequest(int)
-	 */
-	public byte[] getRequest(int type2) {
-		if (type2 == ALL)
-			return request;
-		else if (type2 == TRANSPORT)
-			return getRequestHeader();
-		else
-			return getRequestContent();
-	}
-
-	/**
-	 * @see Request#getResponse(int)
-	 */
-	public byte[] getResponse(int type2) {
-		if (type2 == ALL)
-			return response;
-		else if (type2 == TRANSPORT)
-			return getResponseHeader();
-		else
-			return getResponseContent();
-	}
-
-	protected byte[] getRequestHeader() {
-		Object obj = getProperty(HTTP_REQUEST_HEADER);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-
-	protected byte[] getRequestContent() {
-		Object obj = getProperty(HTTP_REQUEST_BODY);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-
-	protected byte[] getResponseHeader() {
-		Object obj = getProperty(HTTP_RESPONSE_HEADER);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-
-	protected byte[] getResponseContent() {
-		Object obj = getProperty(HTTP_RESPONSE_BODY);
-		if (obj == null || !(obj instanceof byte[]))
-			return null;
-		return (byte[]) obj;
-	}
-
-	protected void setName(String n) {
-		super.setName(n);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
deleted file mode 100644
index a0391e2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/HTTPThread.java
+++ /dev/null
@@ -1,656 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.*;
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Monitor server I/O thread.
- */
-public class HTTPThread extends Thread {
-	private static final int BUFFER = 2048;
-	private static final byte CR = (byte) '\r';
-	private static final byte LF = (byte) '\n';
-	protected static int threadCount = 0;
-
-	private byte[] readBuffer = new byte[BUFFER];
-
-	// buffer and index
-	protected byte[] buffer = new byte[0];
-	protected int bufferIndex = 0;
-
-	protected InputStream in;
-	protected OutputStream out;
-	protected HTTPConnection conn;
-	protected boolean isRequest;
-	protected Connection conn2;
-	
-	protected HTTPThread request;
-	protected boolean isWaiting;
-	
-	// user to translate the Host: header
-	protected String host;
-	protected int port;
-
-	protected int contentLength = -1;
-	protected byte transferEncoding = -1;
-	protected String responseType = null;
-	protected boolean connectionKeepAlive = false;
-	protected boolean connectionClose = false;
-
-	protected static final String[] ENCODING_STRING = new String[] {
-		"chunked", "identity", "gzip", "compressed", "deflate"};
-
-	protected static final byte ENCODING_CHUNKED = 0;
-	protected static final byte ENCODING_IDENTITY = 1;
-	protected static final byte ENCODING_GZIP = 2;
-	protected static final byte ENCODING_COMPRESSED = 3;
-	protected static final byte ENCODING_DEFLATE = 4;
-
-/* change:
-Referer: http://localhost:8081/index.html
-Host: localhost:8081
-*/
-/* The Connection header has the following grammar:
-
-	   Connection = "Connection" ":" 1#(connection-token)
-	   connection-token  = token
-
-   HTTP/1.1 proxies MUST parse the Connection header field before a
-   message is forwarded and, for each connection-token in this field,
-   remove any header field(s) from the message with the same name as the
-   connection-token. */
-
-	/**
-	 * Create a new HTTP thread.
-	 * 
-	 * @param conn2
-	 * @param in
-	 * @param out
-	 * @param conn
-	 * @param isRequest
-	 * @param host
-	 * @param port
-	 */
-	public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port) {
-		super();
-		this.conn2 = conn2;
-		this.in = in;
-		this.out = out;
-		this.conn = conn;
-		this.isRequest = isRequest;
-		this.host = host;
-		this.port = port;
-	
-		setName("HTTP (" + host + ":" + port + ") " + (isRequest ? "REQUEST" : "RESPONSE") + " " + (threadCount++));
-		setPriority(Thread.NORM_PRIORITY + 1);
-		setDaemon(true);
-		
-		Trace.trace(Trace.PARSING, "Started: " + this);
-	}
-	
-	/**
-	 * Create a new HTTP thread.
-	 * 
-	 * @param conn2
-	 * @param in
-	 * @param out
-	 * @param conn
-	 * @param isRequest
-	 * @param host
-	 * @param port
-	 * @param request
-	 */
-	public HTTPThread(Connection conn2, InputStream in, OutputStream out, HTTPConnection conn, boolean isRequest, String host, int port, HTTPThread request) {
-		this(conn2, in, out, conn, isRequest, host, port);
-		
-		this.request = request;
-	}
-
-	/**
-	 * Add a line feed to the end of the byte array.
-	 * @return byte[]
-	 * @param b byte[]
-	 */
-	protected static byte[] convert(byte[] b) {
-		if (b == null || b.length == 0)
-			return b;
-	
-		int size = b.length;
-		byte[] x = new byte[size + 2];
-		System.arraycopy(b, 0, x, 0, size);
-		x[size] = (byte) '\r';     // CR
-		x[size + 1] = (byte) '\n'; // LF
-		return x;
-	}
-
-	/**
-	 * Read more data into the buffer.
-	 */
-	protected void fillBuffer() throws IOException {
-		int n = in.read(readBuffer);
-	
-		if (n <= 0)
-			throw new IOException("End of input");
-	
-		// add to full buffer
-		int len = buffer.length - bufferIndex;
-		if (len < 0)
-			len = 0;
-		byte[] x = new byte[n + len];
-		System.arraycopy(buffer, bufferIndex, x, 0, len);
-		System.arraycopy(readBuffer, 0, x, len, n);
-		bufferIndex = 0;
-		buffer = x;
-	}
-
-	/**
-	 * Returns the first location of a CRLF.
-	 *
-	 * @return int
-	 */
-	protected int getFirstCRLF() {
-		int size = buffer.length;
-		int i = bufferIndex + 1;
-		while (i < size) {
-			if (buffer[i - 1] == CR && buffer[i] == LF)
-				return i;
-			i++;
-		}
-		return -1;
-	}
-
-	/**
-	 * Output the given bytes.
-	 * @param b byte[]
-	 */
-	protected void outputBytes(byte[] b, boolean isNew) throws IOException {
-		out.write(b);
-		if (isRequest)
-			conn.addRequest(b, isNew);
-		else
-			conn.addResponse(b, isNew);
-	}
-
-	/**
-	 * Parse the HTTP body.
-	 * 
-	 * @throws IOException
-	 */
-	public void parseBody() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing body for: " + this);
-		
-		if (responseType != null && ("204".equals(responseType) || "304".equals(responseType))) {
-			setHTTPBody(new byte[0]);
-			return;
-		}
-		
-		if (isRequest) {
-			if (contentLength != -1) {
-				byte[] b = readBytes(contentLength);
-				out.write(b);
-				conn.addRequest(b, false);
-				setHTTPBody(b);
-			} else if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) {
-				parseChunk();
-			}
-			
-			Trace.trace(Trace.PARSING, "Done parsing request body for: " + this);
-			return;
-		}
-		
-		// just return body for HTTP 1.0 responses
-		if (!isRequest && !connectionKeepAlive && contentLength == -1 && transferEncoding == -1) {
-			Trace.trace(Trace.PARSING, "Assuming HTTP 1.0 for: " + this);
-			int n = buffer.length - bufferIndex;
-			byte[] b = readBytes(n);
-			byte[] body = new byte[0];
-			while (n >= 0) {
-				Trace.trace(Trace.PARSING, "Bytes read: " + n + " " + this);
-				if (b != null && n > 0) {
-					byte[] x = null;
-					if (n == b.length)
-						x = b;
-					else {
-						x = new byte[n];
-						System.arraycopy(b, 0, x, 0, n);
-					}
-					outputBytes(x, false);
-					
-					// copy to HTTP body
-					byte[] temp = new byte[body.length + x.length];
-					System.arraycopy(body, 0, temp, 0, body.length);
-					System.arraycopy(x, 0, temp, body.length, x.length);
-					body = temp;
-				}
-				if (b.length < BUFFER)
-					b = new byte[BUFFER];
-				n = in.read(b);
-				Thread.yield();
-			}
-			out.flush();
-			setHTTPBody(body);
-			return;
-		}
-		
-		// spec 4.4.1
-		if (responseType != null && responseType.startsWith("1")) {
-			setHTTPBody(new byte[0]);
-			return;
-		}
-		
-		// spec 4.4.2
-		if (transferEncoding != -1 && transferEncoding != ENCODING_IDENTITY) {
-			parseChunk();
-			return;
-		}
-		
-		// spec 4.4.3
-		if (contentLength != -1) {
-			byte[] b = readBytes(contentLength);
-			out.write(b);
-			if (isRequest)
-				conn.addRequest(b, false);
-			else
-				conn.addResponse(b, false);
-			setHTTPBody(b);
-			return;
-		}
-		
-		// spec 4.4.4 (?)
-		
-		Trace.trace(Trace.PARSING, "Unknown body for: " + this);
-	}
-
-	/**
-	 * Parse an HTTP chunk.
-	 * 
-	 * @throws IOException
-	 */
-	public void parseChunk() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing chunk for: " + this);
-		boolean done = false;
-		byte[] body = new byte[0];
-	
-		while (!done) {
-			// read chunk size
-			byte[] b = readLine();
-	
-			String s = new String(b);
-			int index = s.indexOf(" ");
-			int length = -1;
-			try {
-				if (index > 0)
-					s = s.substring(0, index);
-				length = Integer.parseInt(s.trim(), 16);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error chunk for: " + this, e);
-			}
-	
-			// output bytes
-			outputBytes(b, false);
-	
-			if (length <= 0)
-				done = true;
-			else {
-				// read and output chunk data plus CRLF
-				b = readBytes(length + 2);
-				outputBytes(b, false);
-				
-				// copy to HTTP body
-				byte[] temp = new byte[body.length + b.length - 2];
-				System.arraycopy(body, 0, temp, 0, body.length);
-				System.arraycopy(b, 0, temp, body.length, b.length - 2);
-				body = temp;
-			}
-		}
-	
-		// read trailer
-		byte[] b = readLine();
-		while (b.length > 2) {
-			outputBytes(b, false);
-			b = readLine();
-		}
-	
-		outputBytes(b, false);
-		setHTTPBody(body);
-	}
-
-	/**
-	 * Parse an HTTP header.
-	 * 
-	 * @throws IOException
-	 */
-	public void parseHeader() throws IOException {
-		Trace.trace(Trace.PARSING, "Parsing header for: " + this);
-	
-		// read until first blank line
-		boolean isFirstLine = true;
-		boolean isNew = true;
-	
-		byte[] b = readLine();
-		while (b.length > 5) {
-			Trace.trace(Trace.PARSING, "Parsing header line: '" + new String(b) + "'");
-			
-			if (isFirstLine) {
-				String s = new String(b);
-				if (isRequest) {
-					setLabel(s);
-					isNew = false;
-				}
-	
-				if (!isRequest) {
-					int index1 = s.indexOf(' ');
-					int index2 = s.indexOf(' ', index1 + 1);
-	
-					try {
-						responseType = s.substring(index1 + 1, index2).trim();
-						Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType);
-					} catch (Exception e) {
-						Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e);
-					}
-					if (responseType != null && responseType.equals("100")) {
-						outputBytes(b, isNew);
-						isNew = false;
-
-						b = readLine();
-						outputBytes(b, false);
-
-						b = readLine();
-
-						index1 = s.indexOf(' ');
-						index2 = s.indexOf(' ', index1 + 1);
-
-						try {
-							responseType = s.substring(index1 + 1, index2).trim();
-							Trace.trace(Trace.PARSING, "Response Type: " + this + " " + responseType);
-						} catch (Exception e) {
-							Trace.trace(Trace.PARSING, "Error parsing response type for: " + this, e);
-						}
-					}
-				}
-				isFirstLine = false;
-			}
-	
-			// translate
-			b = translateHeaderLine(b);
-			
-			outputBytes(b, isNew);
-			isNew = false;
-	
-			b = readLine();
-		}
-
-		Trace.trace(Trace.PARSING, "Parsing final header line: '" + new String(b) + "'");
-
-		outputBytes(b, false);
-
-		Request rr = conn.getRequestResponse(isRequest);
-		Trace.trace(Trace.PARSING, "Setting header length: " + rr.getRequest(Request.ALL).length);
-		
-		setHTTPHeader(rr);
-	}
-
-	/**
-	 * Read bytes from the stream.
-	 * @return byte[]
-	 */
-	protected byte[] readBytes(int n) throws IOException {
-		Trace.trace(Trace.PARSING, "readBytes() " + n + " for: " + this);
-		while (buffer.length - bufferIndex < n)
-			fillBuffer();
-	
-		return removeFromBuffer(bufferIndex + n);
-	}
-
-	/**
-	 * Read and return the next full line.
-	 *
-	 * @return byte[]
-	 */
-	protected byte[] readLine() throws IOException {
-		Trace.trace(Trace.PARSING, "readLine() for: " + this);
-	
-		int n = getFirstCRLF();
-		while (n < 0) {
-			fillBuffer();
-			n = getFirstCRLF();
-		}
-		return removeFromBuffer(n + 1);
-	}
-
-	/**
-	 * Remove data from the buffer up to the absolute index n.
-	 * Return the data from between bufferIndex and n.
-	 *
-	 * @param n the bytes to remove
-	 * @return a byte array
-	 */
-	protected byte[] removeFromBuffer(int n) {
-		// copy line out of buffer
-		byte[] b = new byte[n - bufferIndex];
-		System.arraycopy(buffer, bufferIndex, b, 0, n - bufferIndex);
-	
-		if (buffer.length > BUFFER * 2 || bufferIndex > BUFFER) {
-			// remove line from buffer
-			int size = buffer.length;
-			byte[] x = new byte[size - n];
-			System.arraycopy(buffer, n, x, 0, size - n);
-			buffer = x;
-			bufferIndex = 0;
-		} else
-			bufferIndex = n;
-	
-		return b;
-	}
-
-	/**
-	 * Listen for input, save it, and pass to the output stream.
-	 * Philosophy: Read a single line separately and translate.
-	 * When blank line is reached, just pass all other data through.
-	 */
-	public void run() {
-		try {
-			try {
-				while (true) {
-					contentLength = -1;
-					transferEncoding = -1;
-					connectionKeepAlive = false;
-					connectionClose = false;
-					
-					parseHeader();
-					parseBody();
-					
-					if (isRequest && connectionKeepAlive)
-						waitForResponse();
-					
-					//Request r = conn.getRequestResponse(true);
-					//r.fireChangedEvent();
-					
-					Trace.trace(Trace.PARSING, "Done HTTP request for " + this + " " + connectionKeepAlive);
-					if (!isRequest && (!request.connectionKeepAlive || connectionClose)) {
-						conn2.close();
-						if (request.connectionKeepAlive && connectionClose)
-							request.connectionKeepAlive = false;
-							notifyRequest();
-						break;
-					}
-					
-					if (!isRequest)
-						notifyRequest();
-					
-					Thread.yield();
-				}
-			} catch (IOException e) {
-				// reached end of input
-				Trace.trace(Trace.PARSING, "End of buffer for: " + this, e);
-				if (!isRequest) {
-					try {
-						request.connectionKeepAlive = false;
-						request.conn2.close();
-						notifyRequest();
-					} catch (Exception ex) {
-						Trace.trace(Trace.PARSING, "Error closing request in response to error: " + this, e);
-					}
-				}
-			}
-			
-			// send rest of buffer
-			out.write(buffer, bufferIndex, buffer.length - bufferIndex);
-			out.flush();
-		} catch (Exception e) {
-			Trace.trace(Trace.PARSING, "Error in: " + this, e);
-		}
-		//if (!isRequest)
-		//	conn2.close();
-		
-		Trace.trace(Trace.PARSING, "Closing thread " + this);
-	}
-
-	/**
-	 * Sets the title of the call.
-	 *
-	 * @param s java.lang.String
-	 */
-	protected void setLabel(String s) {
-		try {
-			int index1 = s.indexOf(' ');
-			if (index1 < 0 || index1 > 15)
-				return;
-			int index2 = s.indexOf(' ', index1 + 1);
-			if (index2 < 0)
-				return;
-	
-			conn.setLabel(s.substring(index1 + 1, index2), true);
-		} catch (Exception e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Translate the header line.
-	 * 
-	 * @return byte[]
-	 * @param b byte[]
-	 */
-	protected byte[] translateHeaderLine(byte[] b) {
-		String s = new String(b);
-	
-		if (isRequest && s.startsWith("Host: ")) {
-			String t = "Host: " + host;
-			if (port != 80)
-				t += ":" + port;
-			return convert(t.getBytes());
-		} else if (s.startsWith("Content-Length: ")) {
-			try {
-				contentLength = Integer.parseInt(s.substring(16).trim());
-				Trace.trace(Trace.PARSING, "Content length: " + this + " " + contentLength);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Content length error", e);
-			}
-		} else if (s.startsWith("Connection: ")) {
-			try {
-				String t = s.substring(11).trim();
-				if (t.equalsIgnoreCase("Keep-Alive"))
-					connectionKeepAlive = true;
-				// response contains "Connection: close" header
-				// close connection to the client even if "keepalive" had been requested
-				// we can't just reset request.keepAlive - it's used as indicator whether
-				// the request thread is (going to) wait for the response thread
-				// (and must be notified (only then)),
-				// so we have to let it alone
-				if (t.equalsIgnoreCase("close"))
-					connectionClose = true;
-				Trace.trace(Trace.PARSING, "Keep alive: " + connectionKeepAlive);
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error getting Connection: from header", e);
-			}
-		} else if (s.startsWith("Transfer-Encoding: ")) {
-			String t = s.substring(19).trim();
-			int size = ENCODING_STRING.length;
-			for (int i = 0; i < size; i++) {
-				if (ENCODING_STRING[i].equalsIgnoreCase(t)) {
-					transferEncoding = (byte) i;
-					Trace.trace(Trace.PARSING, "Transfer encoding: " + ENCODING_STRING[i]);
-				}
-			}
-		}
-	
-		return b;
-	}
-	
-	protected void close() {
-		try {
-			Trace.trace(Trace.PARSING, "Closing: " + this);
-			out.close();
-		} catch (Exception e) {
-			Trace.trace(Trace.PARSING, "Error closing connection " + this + " " + e.getMessage());
-		}
-	}
-
-	protected void waitForResponse() {
-		Trace.trace(Trace.PARSING, "Waiting for response " + this);
-		synchronized (this) {
-			try {
-				isWaiting = true;
-				wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in waitForResponse() " + this + " " + e.getMessage());
-			}
-			isWaiting = false;
-		}
-		Trace.trace(Trace.PARSING, "Done waiting for response " + this);
-	}
-
-	protected void notifyRequest() {
-		Trace.trace(Trace.PARSING, "Notifying request " + this);
-		while (request.connectionKeepAlive && !request.isWaiting) {
-			Trace.trace(Trace.PARSING, "Waiting for request " + this);
-			try {
-				Thread.sleep(100);
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		synchronized (request) {
-			try {
-				request.notify();
-			} catch (Exception e) {
-				Trace.trace(Trace.PARSING, "Error in notifyRequest() " + this, e);
-			}
-		}
-		Trace.trace(Trace.PARSING, "Done notifying request " + this);
-	}
-
-	protected void setHTTPHeader(Request rr) {
-		if (isRequest) {
-			byte[] b = rr.getRequest(Request.ALL);
-			byte[] h = new byte[b.length];
-			System.arraycopy(b, 0, h, 0, b.length);
-			rr.setProperty(HTTPRequest.HTTP_REQUEST_HEADER, h);
-		} else {
-			byte[] b = rr.getResponse(Request.ALL);
-			byte[] h = new byte[b.length];
-			System.arraycopy(b, 0, h, 0, b.length);
-			rr.setProperty(HTTPRequest.HTTP_RESPONSE_HEADER, h);
-		}
-	}
-
-	protected void setHTTPBody(byte[] b) {
-		Request rr = conn.getRequestResponse(isRequest);
-		if (isRequest)
-			rr.setProperty(HTTPRequest.HTTP_REQUEST_BODY, b);
-		else
-			rr.setProperty(HTTPRequest.HTTP_RESPONSE_BODY, b);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java
deleted file mode 100644
index c9e3441..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPConnection.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * A resend HTTP connection wraps an HTTP connection to send an existing request.
- */
-public class ResendHTTPConnection extends HTTPConnection {
-	protected Request existingRequest;
-
-	/**
-	 * Create a new resend connection.
-	 * 
-	 * @param request
-	 */
-	public ResendHTTPConnection(Request request) {
-		super(null);
-		this.existingRequest = request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.internal.http.HTTPConnection#getRequestResponse(int)
-	 */
-	protected Request getRequestResponse(int i) {
-		return existingRequest;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
deleted file mode 100644
index 2a48859..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/http/ResendHTTPRequest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.http;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.Socket;
-
-import org.eclipse.wst.internet.monitor.core.internal.Connection;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.SocketWrapper;
-import org.eclipse.wst.internet.monitor.core.internal.provisional.Request;
-/**
- * Wraps an existing request to create an HTTP request that can be sent. The
- * response is ignored. Only the request is important in this case.
- */
-public class ResendHTTPRequest extends HTTPRequest {
-	private boolean sent = false;
-
-	private byte[] header;
-
-	private byte[] content;
-
-	private Request originalRequest = null;
-
-	/**
-	 * Constructor.
-	 * 
-	 * @param monitor
-	 * @param req the request that is to be resent.
-	 */
-	public ResendHTTPRequest(Monitor monitor, Request req) {
-		super(monitor, req.getLocalPort(), req.getRemoteHost(), req.getRemotePort());
-		setProperty(HTTP_REQUEST_HEADER, req.getProperty(HTTP_REQUEST_HEADER));
-		setProperty(HTTP_REQUEST_BODY, req.getProperty(HTTP_REQUEST_BODY));
-		header = req.getRequest(TRANSPORT);
-		content = req.getRequest(CONTENT);
-		request = req.getRequest(ALL);
-		name = req.getName();
-		this.originalRequest = req;
-	}
-
-	/**
-	 * Send the request.
-	 */
-	public void sendRequest() {
-		try {
-			Socket inSocket = new SocketWrapper(new ByteArrayInputStream(request));
-			Socket outSocket = new Socket(remoteHost, remotePort);
-			//Connection conn = new Connection(inSocket, outSocket);
-			//TCPIPThread requestThread = new TCPIPThread(conn, this, in,
-			// outSocket.getOutputStream(), true);
-			//requestThread.start();
-			//new TCPIPThread(conn, this, outSocket.getInputStream(),
-			// inSocket.getOutputStream(), false).start();
-			Connection conn2 = new Connection(inSocket, outSocket);
-			ResendHTTPConnection conn = new ResendHTTPConnection(this);
-
-			HTTPThread request2 = new HTTPThread(conn2, inSocket.getInputStream(),
-					outSocket.getOutputStream(), conn, true, remoteHost, remotePort);
-			HTTPThread response2 = new HTTPThread(conn2, outSocket.getInputStream(),
-					inSocket.getOutputStream(), conn, false, "localhost", localPort, request2);
-			request2.start();
-			response2.start();
-		} catch (IOException e) {
-			response = ("Unable to resend to server.\n" + e).getBytes();
-		}
-		sent = true;
-	}
-
-	/** (non-Javadoc)
-	 * @see Request#addToRequest(byte[])
-	 */
-	public void addToRequest(byte[] addRequest) {
-		// Don't want to add to the request as we already have the request.
-	}
-
-	/**
-	 * Returns <code>true</code> if the request has been sent.
-	 * 
-	 * @return <code>true</code> if the request has been sent, and <code>false</code>
-	 *    otherwise
-	 */
-	public boolean hasBeenSent() {
-		return sent;
-	}
-
-	/**
-	 * Set the request.
-	 * 
-	 * @param request
-	 * @param type
-	 */
-	public void setRequest(byte[] request, int type) {
-		if (request == null)
-			request = new byte[0];
-		if (type == TRANSPORT)
-			header = request;
-		else if (type == CONTENT)
-			content = request;
-		
-		int length = 0;
-		int headerLength = 0;
-		if (header != null) {
-			length += header.length;
-			headerLength = length;
-		}
-		if (content != null)
-			length += content.length;
-		byte[] newRequest = new byte[length];
-		if (header != null)
-			System.arraycopy(header, 0, newRequest, 0, header.length);
-		if (content != null)
-			System.arraycopy(content, 0, newRequest, headerLength, content.length);
-		super.setRequest(newRequest);
-	}
-
-	/** (non-Javadoc)
-	 * @see HTTPRequest#getRequestContent()
-	 */
-	protected byte[] getRequestContent() {
-		return content;
-	}
-
-	/** (non-Javadoc)
-	 * @see HTTPRequest#getRequestHeader()
-	 */
-	protected byte[] getRequestHeader() {
-		return header;
-	}
-
-	/**
-	 * Returns the original request.
-	 * 
-	 * @return the original request
-	 */
-	public Request getOriginalRequest() {
-		return originalRequest;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java
deleted file mode 100644
index 87fc139..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/ContentFilterDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-
-import java.io.IOException;
-/**
- * A content filter that filters contents from the monitor traffic on a request.
- * <p>
- * This abstract class is intended to be subclassed only by clients
- * to extend the <code>contentFilters</code> extension point.
- * The subclass must have a public 0-argument constructor, which will be used
- * automatically to instantiate the delegate when required. 
- * </p>
- * <p>
- * [issue: The notion of content filters is a UI/presentation
- * concern, not something that is makes sense to have as core
- * functionality. The contentFilters extension point, IContentFilter,
- * and ContentFilterDelegate should all move to the o.e.wst.internet.monitor.ui
- * plug-in.]
- * [issue: CS - I'd echo the comment above that this seems like a UI concern.  
- * I noticed there's also a viewer on the UI side, so i'm not sure how these would interact. 
- * I assume that filters operate on the byte stream and aren't concerned with UI presentation...
- * but usually UI's and filters are tightly coupled.
- * </p>
- */
-public abstract class ContentFilterDelegate {
-	/**
-	 * Filter the given content from the given request. The content that has been filtered out will 
-	 * not be shown to clients of the TCP/IP monitor.
-	 * 
-	 * @param request the request that the filter will be performed on
-	 * @param isRequest set to true if the content filter applies to request monitor traffic,
-	 *    or set to false if the content filter applies to the response monitor traffic
-	 * @param content the message content to be filtered out
-	 * @return the filtered content
-	 * @throws IOException if there is an error while parsing or filtering the content
-	 */
-	public abstract byte[] filter(Request request, boolean isRequest, byte[] content) throws IOException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
deleted file mode 100644
index 461a874..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitor.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-/**
- * Represents a monitor between a client and server.
- * The monitor watches all network traffic between a local client (talking
- * on a given local port) and a remote server (identified by host and port).
- * The global list of known monitors is available via {@link MonitorCore#getMonitors()}.
- * IMonitor is thread-safe.
- * <p>
- * IMonitors are read-only. To make changes to a monitor, you must create an
- * IMonitorWorkingCopy by calling createWorkingCopy(). Changes to the working copy
- * are applied when the working copy is saved. Monitors and monitor working copies
- * have the following properties:
- *   * equals() returns true for a monitor and it's working copy
- * <p>
- * [issue: Why the built-in assumption that the client is local? A monitor
- * would make just as much sense sitting between a client on a remote machine
- * and a server.]
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IMonitorWorkingCopy
- */
-public interface IMonitor {
-	/**
-	 * Returns the id of this monitor.
-	 * Each monitor has a distinct, fixed id. Ids are intended to be used internally as keys;
-	 * they are not intended to be shown to end users.
-	 * 
-	 * @return the monitor id
-	 */
-	public String getId();
-
-	/**
-	 * Returns the remote host name of the server being monitored.
-	 * 
-	 * @return the remote host name
-	 */
-	public String getRemoteHost();
-	
-	/**
-	 * Returns the remote port number of the server being monitored.
-	 *  
-	 * @return the remote port number
-	 */
-	public int getRemotePort();
-	
-	/**
-	 * Returns the local port number of the client being monitored. This
-	 * is the port that the client is talking to the remote server on.
-	 *  
-	 * @return the local port number
-	 */
-	public int getLocalPort();
-	
-	/**
-	 * Returns the protocol that this monitor uses to read network
-	 * traffic.
-	 * 
-	 * @return the protocol id
-	 */
-	public String getProtocol();
-
-	/**
-	 * Returns the connection timeout. Returns 0 if there is no timeout.
-	 * 
-	 * @return the timeout
-	 */
-	public int getTimeout();
-
-	/**
-	 * Returns whether this monitor is currently running. Monitor working
-	 * copies will always return false (since they cannot be run).
-	 * 
-	 * @return <code>true</code> if the monitor is currently running, or
-	 *    <code>false</code> otherwise
-	 */
-	public boolean isRunning();
-	
-	/**
-	 * Deletes this monitor. The monitor will no longer be available to clients.
-	 * If the monitor is currently running, it will be stopped first.
-	 * This method has no effect if the monitor has already been deleted or if
-	 * it is called on a working copy. Clients have no obligation to delete
-	 * working copies.
-	 */
-	public void delete();
-	
-	/**
-	 * Returns whether this monitor is a working copy. Monitors which return
-	 * <code>true</code> to this method can be safely cast to
-	 * {@link IMonitorWorkingCopy}.
-	 * 
-	 * @return <code>true</code> if this monitor is a working copy, and
-	 * <code>false</code> otherwise
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Returns a working copy for this monitor. If the receiver is not a
-	 * working copy, a new working copy will be created and initialized to have
-	 * the same attributes as this monitor. If the receiver is a working copy,
-	 * this method simply returns the receiver. After configuring attributes on
-	 * the working copy, calling {@link IMonitorWorkingCopy#save()} applies
-	 * the changes to the original monitor.
-	 * 
-	 * @return a working copy of this monitor
-	 */
-	public IMonitorWorkingCopy createWorkingCopy();
-	
-	/**
-	 * Starts the given monitor listening on its client port. This method is
-	 * synchronous and the monitor will be running and ready for use by the
-	 * time that the method returns. This method has no effect if the monitor
-	 * is already running.
-	 * <p>
-	 * A CoreException is thrown if the monitor is not valid, the local port
-	 * is in use, or if another problem occurs when starting the monitor. 
-	 * </p>
-	 * <p>
-	 * This method must not be called on a working copy or after the monitor
-	 * has been deleted.
-	 * </p>
-	 * 
-	 * @throws CoreException thrown if the monitor's properties are invalid,
-	 *   if it fails to start because the port is in use, or another problem occurs
-	 */
-	public void start() throws CoreException;
-
-	/**
-	 * Stops the given monitor and frees up all underlying operating 
-	 * system resources. This method is synchronous and the monitor will be
-	 * running and ready for use by the time that the method returns.
-	 * This method has no effect if the monitor was not already running.
-	 * <p>
-	 * After returning from this method, the monitor may be restarted at
-	 * any time. This method must not be called on a working copy or after
-	 * the monitor has been deleted.
-	 * </p>
-	 */
-	public void stop();
-
-	/**
-	 * Adds a request listener.
-	 * Once registered, a listener starts receiving notification of 
-	 * changes to the global list of requests. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * If a listener is added to a working copy, it will automatically be added
-	 * to the original monitor. If the monitor does not exist yet (when the working
-	 * copy was just created from MonitorCore.createMonitor()), the listener will
-	 * be added to the created monitor when (if) the working copy is saved. 
-	 * </p>
-	 *
-	 * @param listener the request listener
-	 * @see #removeRequestListener(IRequestListener)
-	 */
-	public void addRequestListener(IRequestListener listener);
-	
-	/**
-	 * Removes the given request listener. Has no effect if the listener is
-	 * not registered.
-	 * <p>
-	 * If a listener is removed from a working copy, it will automatically be
-	 * removed from the corresponding original monitor. Removing a monitor from
-	 * a newly created monitor has no effect unless the monitor had already been
-	 * added, in which case it is removed from notification and will not be added
-	 * to the created monitor when (if) the working copy is saved. 
-	 * </p>
-	 * 
-	 * @param listener the listener
-	 * @see #addRequestListener(IRequestListener)
-	 */
-	public void removeRequestListener(IRequestListener listener);
-	
-	/**
-	 * Validates this monitor. This method should return an error if the monitor
-	 * has invalid ports or remote hostname.
-	 * <p>
-	 * This method is not on the working copy so that the runtime can be validated
-	 * at any time.
-	 * </p>
-	 *
-	 * @return a status object with code <code>IStatus.OK</code> if this
-	 *   runtime is valid, otherwise a status object indicating what is
-	 *   wrong with it
-	 */
-	public IStatus validate();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java
deleted file mode 100644
index b4db6ca..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-/**
- * Listener for global changes affecting monitors.
- * <p>
- * Clients should implement this interface and register
- * their listener via {@link MonitorCore#addMonitorListener(IMonitorListener)}.
- * </p>
- */
-public interface IMonitorListener {
-	
-	/**
-	 * Notification that the given monitor has been created (added to the
-	 * global list of known monitors).
-	 * 
-	 * @param monitor the newly-created monitor
-	 */
-	public void monitorAdded(IMonitor monitor);
-
-	/**
-	 * Notification that the given monitor has been changed.
-     * Note that the monitor is never a working copy.
-	 * 
-	 * @param monitor the monitor that has been changed
-	 */
-	public void monitorChanged(IMonitor monitor);
-
-	/**
-	 * Notification that the given monitor has been deleted (removed
-	 * from the global list of known monitors).
-	 * 
-	 * @param monitor the monitor that has been deleted
-	 */
-	public void monitorRemoved(IMonitor monitor);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
deleted file mode 100644
index acef8c0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IMonitorWorkingCopy.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-
-import org.eclipse.core.runtime.CoreException;
-/**
- * Represents a working copy of a monitor. A working copy is a copy that the
- * attributes can be changed.
- * IMonitorWorkingCopy is thread-safe. However, working copies instances
- * should be short-lived to reduce the chance of multiple working copies
- * being created by different clients and one client overwritting changes
- * made to the other working copy. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see IMonitor
- * 
- * [issue : CS - it sounds like this is something useful for creating monitors. 
- * Shouldn't this be called a IMonitorConfiguration?  Is there an advantage to making
- * this actually seem to be a IMonitor?  Perhaps some UI convenience?  
- * Is a IMonitorWorkingCopy actually 'useable' for monitoring .. or is it really just a configuration? ]
- */
-public interface IMonitorWorkingCopy extends IMonitor {
-	/**
-	 * Returns the original monitor that this working copy corresponds to, or
-	 * <code>null</code> if this working copy was just created from
-	 * MonitorCore.createMonitor().
-	 * 
-	 * @return the original monitor, or <code>null</code> if this working copy
-	 *    was just created
-	 */
-	public IMonitor getOriginal();
-
-	/**
-	 * Sets the local port number of the client to be monitored.
-	 * 
-	 * @param port the local (client) port number
-	 * @see IMonitor#getLocalPort()
-	 */
-	public void setLocalPort(int port);
-
-	/**
-	 * Sets the remote host name of the server to be monitored.
-	 * 
-	 * @param host the new remote host name
-	 * @see IMonitor#getRemoteHost()
-	 */
-	public void setRemoteHost(String host);
-
-	/**
-	 * Sets the remote port number of the server to be monitored.
-	 * 
-	 * @param port the new remote port number
-	 * @see IMonitor#getRemotePort()
-	 */
-	public void setRemotePort(int port);
-
-	/**
-	 * Sets the protocol to be used to read network
-	 * traffic between the server and the client.
-	 * 
-	 * @param protocolId the protocol id
-	 * @see IMonitor#getProtocol()
-	 */
-	public void setProtocol(String protocolId);
-
-	/**
-	 * Sets the connection timeout. Use 0 to clear the timeout.
-	 * 
-	 * @param timeout the connection timeout
-	 * @see IMonitor#getTimeout()
-	 */
-	public void setTimeout(int timeout);
-
-	/**
-	 * Saves the changes made to this working copy.
-	 * For a brand new working copy (created by
-	 * {@link MonitorCore#createMonitor()}, and not yet saved), this method
-	 * creates a new monitor instance with attributes matching this working copy.
-	 * For a working copy cloned from an existing monitor instance (by
-	 * {@link IMonitor#createWorkingCopy()}), this method stops the existing
-	 * monitor (using {@link IMonitor#stop()}) if necessary,
-	 * and then sets the attributes of the monitor instance to match this
-	 * working copy (the monitor instance is returned).
-	 * <p>
-	 * Saving a working copy for a monitor that was already deleted will cause
-	 * the monitor to get recreated (with any changes in the working copy).
-	 * </p>
-	 * <p>
-	 * This method throws a CoreException if there is a problem saving the
-	 * monitor. No validation checks occur when saving the monitor. This can be
-	 * done by calling IMonitor.validate() prior to saving.
-	 * </p>
-	 *
-	 * @return the affected monitor
-	 * @throws CoreException thrown if a problem occurs while saving the monitor 
-	 */
-	public IMonitor save() throws CoreException;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java
deleted file mode 100644
index fb11bea..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/IRequestListener.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-/**
- * Listener for new or modified requests created from a single monitor.
- * Each request represents message traffic between a monitored client
- * and server.
- * <p>
- * Requests are not persisted - they only exist in this API until the
- * connection is done. An initial requestAdded() event is fired when the
- *	request is created (by the client creating a connection), and then
- * requestChanged() events occur as data is passed through the request
- * or changes are made to the request's properties.
- * </p>
- * 
- * @see IMonitor#addRequestListener(IRequestListener)
- */
-public interface IRequestListener {
-	/**
-	 * Notification that the given request was created.
-	 * <p>
-	 * Requests may be created with little to no data in them.
-	 * As additional information is available, the
-	 * <code>requestChanged</code> method is called.
-	 * </p>
-	 * 
-	 * @param monitor the monitor from which the request was initiated
-	 * @param request the request that has been added
-	 */
-	public void requestAdded(IMonitor monitor, Request request);
-
-	/**
-	 * Notification that the given request has been changed.
-	 * This method is called when more data is available in the
-	 * request.
-	 * <p>
-	 * Individual values within the request are rarely modified.
-	 * This method may be called when they are initially set or
-	 * when more data is received from the client or server.
-	 * </p>
-	 * 
-	 * @param monitor the monitor from which the request was initiated
-	 * @param request the request that has been changed
-	 */
-	public void requestChanged(IMonitor monitor, Request request);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
deleted file mode 100644
index 626968f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/MonitorCore.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-
-import java.util.List;
-
-import org.eclipse.wst.internet.monitor.core.internal.MonitorManager;
-/**
- * Main class for creating new monitors and locating existing ones. The methods on
- * this class are thread safe.
- * <p>
- * This class provides all functionality through static members. It is not intended
- * to be instantiated or subclassed.
- * </p>
- */
-public final class MonitorCore {
-	private static MonitorManager manager;
-
-	/**
-	 * Cannot create MonitorCore - use static methods.
-	 */
-	private MonitorCore() {
-		// can't create
-	}
-
-	/**
-	 * Returns a monitor manager instance.
-	 * 
-	 * @return the monitor manager
-	 */
-	private static MonitorManager getManager() {
-		if (manager == null)
-			manager = MonitorManager.getInstance();
-		return manager;
-	}
-
-	/**
-	 * Returns a list of all known monitor instances. The list will not contain any
-	 * working copies and is persisted between workbench sessions.
-	 * <p>
-	 * A new array is returned on each call; clients may safely store or modify the result.
-	 * </p>
-	 * 
-	 * @return a possibly-empty array of monitor instances
-	 */
-	public static IMonitor[] getMonitors() {
-		List list = getManager().getMonitors();
-		IMonitor[] m = new IMonitor[list.size()];
-		list.toArray(m);
-		return m;
-	}
-
-	/**
-	 * Creates a new monitor working copy. After configuring parameters on
-	 * the working copy, calling {@link IMonitorWorkingCopy#save()} brings
-	 * the monitor into existence.
-	 * <p>
-	 * Note that the client is responsible for calling {@link IMonitor#delete()}
-	 * to delete the monitor once it is no longer needed.
-	 * </p>
-	 * <p>
-	 * When monitors are created, the local and remote port values default to
-	 * <code>80</code>, but they do not have a protocol or remote host (values
-	 * are <code>null</code>).
-	 * </p> 
-	 * 
-	 * @return a monitor working copy
-	 */
-	public static IMonitorWorkingCopy createMonitor() {
-		return getManager().createMonitor();
-	}
-
-	/**
-	 * Adds a monitor listener.
-	 * Once registered, a listener starts receiving notification of 
-	 * changes to the monitors. The listener continues to receive
-	 * notifications until it is removed.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the monitor listener
-	 * @see #removeMonitorListener(IMonitorListener)
-	 */
-	public static void addMonitorListener(IMonitorListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		getManager().addMonitorListener(listener);
-	}
-
-	/**
-	 * Removes the given monitor listener. Has no
-	 * effect if the listener is not registered.
-	 * 
-	 * @param listener the listener
-	 * @see #addMonitorListener(IMonitorListener)
-	 */
-	public static void removeMonitorListener(IMonitorListener listener) {
-		if (listener == null)
-			throw new IllegalArgumentException();
-		getManager().removeMonitorListener(listener);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
deleted file mode 100644
index d0e127f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/Request.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.core.internal.provisional;
-
-import java.util.Date;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.internet.monitor.core.internal.Monitor;
-import org.eclipse.wst.internet.monitor.core.internal.Trace;
-/**
- * Represents a TCP/IP request made between the client and the server.
- * Each request represents a request-response pair, where the request
- * is from client -> server, and the response is from server -> client.
- * <p>
- * Requests are created by a running monitor. They do not have a reference
- * back to the monitor because the monitor may have been deleted or modified
- * since the request was created.
- * </p>
- * <p>
- * This interface is intended to be extended only by clients
- * to extend the <code>protocolAdapters</code> extension point. 
- * </p>
- */
-public class Request implements IAdaptable {
-	protected Monitor monitor;
-	protected Date date;
-	protected long responseTime = -1;
-	protected int localPort;
-	protected String remoteHost;
-	protected int remotePort;
-	protected byte[] request;
-	protected byte[] response;
-	
-	protected String name;
-	protected String protocolId;
-
-	protected Properties properties;
-	
-	/**
-	 * Request2 content type (value 1) for the transport (header) of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int TRANSPORT = 1;
-
-	/**
-	 * Request2 content type (value 2) for the content (body) of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int CONTENT = 2;
-
-	/**
-	 * Request2 content type (value 3) for the entire content of a request
-	 * or response.
-	 * 
-	 * @see #getRequest(int)
-	 * @see #getResponse(int)
-	 */
-	public static final int ALL = 3;
-
-	/**
-	 * Create a new Request.
-	 * 
-	 * @param monitor a monitor
-	 * @param protocolId the protocol id
-	 * @param localPort a local port number
-	 * @param remoteHost a remote hostname
-	 * @param remotePort a remote port number
-	 */
-	public Request(Monitor monitor, String protocolId, int localPort, String remoteHost, int remotePort) {
-		super();
-		this.monitor = monitor;
-		this.protocolId = protocolId;
-		this.localPort = localPort;
-		this.remoteHost = remoteHost;
-		this.remotePort = remotePort;
-		date = new Date();
-		properties = new Properties();
-		if (monitor != null)
-			monitor.addRequest(this);
-	}
-
-	/**
-	 * Returns the protocol responsible for creating this request.
-	 * 
-	 * @return the protocol id
-	 */
-	public String getProtocol() {
-		return protocolId;
-	}
-
-	/**
-	 * Returns the time this request was made.
-	 *
-	 * @return the timestamp
-	 */
-	public Date getDate() {
-		return date;
-	}
-
-	/**
-	 * Returns the local (client) port.
-	 *
-	 * @return the local port number
-	 */
-	public int getLocalPort() {
-		return localPort;
-	}
-
-	/**
-	 * Returns the remote (server) host.
-	 *
-	 * @return the remote host
-	 */
-	public String getRemoteHost() {
-		return remoteHost;
-	}
-
-	/**
-	 * Returns the remote (server) port.
-	 *
-	 * @return the remote port number
-	 */
-	public int getRemotePort() {
-		return remotePort;
-	}
-
-	/**
-	 * Returns the selected content of the request portion of this request.
-	 * <p>
-	 * [issue: I don't know how to explain this. For basic TCP/IP requests,
-	 * distinction between transport and content is ignored.
-	 * For HTTP requests, this TRANSPORT returns just the HTTP header and 
-	 * CONTENT returns just the HTTP body without the headers. What would
-	 * it mean for other protocols?
-	 * </p>
-	 *
-	 * @param type the content type: one of {@link #TRANSPORT},
-	 *    {@link #CONTENT}, or {@link #ALL}
-	 * @return the content bytes
-	 */
-	public byte[] getRequest(int type) {
-		return request;
-	}
-
-	/**
-	 * Returns the selected content of the response portion of this request.
-	 * <p>
-	 * [issue: I don't know how to explain this. For basic TCP/IP requests,
-	 * distinction between transport and content is ignored.
-	 * For HTTP requests, this TRANSPORT returns just the HTTP header and 
-	 * CONTENT returns just the HTTP body without the headers. What would
-	 * it mean for other protocols?]
-	 * </p>
-	 *
-	 * @param type the content type: one of {@link #TRANSPORT},
-	 *    {@link #CONTENT}, or {@link #ALL}
-	 * @return the content bytes
-	 */
-	public byte[] getResponse(int type) {
-		return response;
-	}
-
-	/**
-	 * Returns the server's response time in milliseconds. If the request
-	 * has not been completed yet, -1 is returned.
-	 *
-	 * @return the server's response time, or -1 if there has been no
-	 *    response yet
-	 */
-	public long getResponseTime() {
-		return responseTime;
-	}
-
-	/**
-	 * Returns a name for this request.
-	 *
-	 * @return the name
-	 */
-	public String getName() {
-		if (name == null)
-			return getRemoteHost() + ":" + getRemotePort();
-		
-		return name;
-	}
-	
-	/**
-	 * Sets the name of this request.
-	 *
-	 * @param n the name
-	 */
-	protected void setName(String n) {
-		name = n;
-	}
-
-	/**
-	 * Sets the given key-value property on this request. To remove a property,
-	 * set the value to null.
-	 * <p>
-	 * This method is typically called by protocol adapters to attach protocol-
-	 * specific fields to the request, but it may be called by any client.
-	 * </p>
-	 * 
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void setProperty(String key, Object value) {
-		try {
-			if (properties.containsKey(key))
-				properties.remove(key);
-			if (value != null)
-				properties.put(key, value);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not add property", e);
-		}
-		monitor.requestChanged(this);
-	}
-
-	/**
-	 * Returns the value of the property with the given key from this request.
-	 * If the key does not exist, <code>null</code> is returned.
-	 * 
-	 * @param key the property key 
-	 * @return the property value
-	 */
-	public Object getProperty(String key) {
-		try {
-			return properties.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Add to the request.
-	 *
-	 * @param addRequest byte[]
-	 */
-	public void addToRequest(byte[] addRequest) {
-		if (addRequest == null || addRequest.length == 0)
-			return;
-	
-		if (request == null || request.length == 0) {
-			setRequest(addRequest);
-			return;
-		}
-	
-		int size = request.length + addRequest.length;
-		byte[] b = new byte[size];
-		System.arraycopy(request, 0, b, 0, request.length);
-		System.arraycopy(addRequest, 0, b, request.length, addRequest.length);
-		request = b;
-		fireChangedEvent();
-	}
-
-	/**
-	 * Add to the response.
-	 *
-	 * @param addResponse byte[]
-	 */
-	public void addToResponse(byte[] addResponse) {
-		if (addResponse == null || addResponse.length == 0)
-			return;
-		
-		if (response == null || response.length == 0) {
-			setResponse(addResponse);
-			return;
-		}
-		
-		int size = response.length + addResponse.length;
-		byte[] b = new byte[size];
-		System.arraycopy(response, 0, b, 0, response.length);
-		System.arraycopy(addResponse, 0, b, response.length, addResponse.length);
-		response = b;
-		fireChangedEvent();
-	}
-
-	/**
-	 * Set the request.
-	 *
-	 * @param request byte[]
-	 */
-	protected void setRequest(byte[] request) {
-		if (request == null || request.length == 0)
-			return;
-		
-		this.request = request;
-		monitor.requestChanged(this);
-	}
-
-	/**
-	 * Set the response.
-	 *
-	 * @param response byte[]
-	 */
-	protected void setResponse(byte[] response) {
-		if (response == null || response.length == 0)
-			return;
-	
-		this.response = response;
-		responseTime = System.currentTimeMillis() - date.getTime();
-		monitor.requestChanged(this);
-	}
-
-	/**
-	 * Returns the monitor that created this request.
-	 * Change events will be fired from this monitor.
-	 * <p>
-	 * Note that the monitor may have been editted since this
-	 * request was created, so you cannot rely on the monitor's
-	 * hostname or port values.
-	 * </p>
-	 * 
-	 * @return the monitor that created this request
-	 */
-	public IMonitor getMonitor() {
-		return monitor;
-	}
-
-	/**
-	 * Fire a change event to notify monitor listeners that the request has changed.
-	 */
-	protected void fireChangedEvent() {
-		if (monitor != null)
-			monitor.requestChanged(this);
-	}
-
-	/** (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html
deleted file mode 100644
index 505ed58..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css">
-<title>WTP API overview</title>
-</head>
-<body>
-<p>This package gives core (non-UI) access to the TCP/IP monitor. Clients can
-query for existing monitors, create new monitors, start/stop monitors, and
-listen for requests being received by a running monitor.</p>
-<table width="500">
-<tr>
-<td>
-<p>The MonitorCore class gives initial access to all of the API. From here you
-can query the existing monitors, create new ones, and add/remove a listener for
-monitor changes.</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>The IMonitor interface provides information about a particular monitor,
-allowing you to change it via a working copy, start/stop it, or add a listener
-for request activity.</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml b/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml
deleted file mode 100644
index 3f4e04a..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/monitorcore/org/eclipse/wst/internet/monitor/core/internal/provisional/package.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-<head>
-	<!--  Escape to the root of your source folder  -->
-	<meta
-		name="root"
-		content="../../../../../../" />
-	<title>WTP API overview</title>
-</head>
-
-<body>
-
-
-<abstract>This package gives core (non-UI) access to the TCP/IP monitor. Clients can
-query for existing monitors, create new monitors, start/stop monitors, and
-listen for requests being received by a running monitor.</abstract>
-
-<p>The MonitorCore class gives initial access to all of the API. From here you
-can query the existing monitors, create new ones, and add/remove a listener for
-monitor changes.</p>
-
-<p>The IMonitor interface provides information about a particular monitor,
-allowing you to change it via a working copy, start/stop it, or add a listener
-for request activity.</p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties b/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties
deleted file mode 100644
index f0e5242..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Monitor
-providerName=Eclipse.org
-
-extensionPointProtocolAdapters=Protocol Adapters
-extensionPointContentFilters=Content Filters
-extensionPointStartup=Startup
-
-HTTP=HTTP
-TCPIP=TCP/IP
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml b/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml
deleted file mode 100644
index 5a825fa..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-<extension-point name="%extensionPointProtocolAdapters" id="internalProtocolAdapters" schema="schema/protocolAdapters.exsd"/>
-<extension-point name="%extensionPointContentFilters" id="internalContentFilters" schema="schema/internalContentFilters.exsd"/>
-<extension-point name="%extensionPointStartup" id="internalStartup" schema="schema/startup.exsd"/>
-
-<extension point="org.eclipse.wst.internet.monitor.core.internalProtocolAdapters">
-  <protocolAdapter
-    id="TCP/IP"
-    class="org.eclipse.wst.internet.monitor.core.internal.TCPIPProtocolAdapter"
-    name="%TCPIP"/>
-  <protocolAdapter
-    id="HTTP"
-    class="org.eclipse.wst.internet.monitor.core.internal.http.HTTPProtocolAdapter"
-    name="%HTTP"/>
-</extension>
-
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd
deleted file mode 100644
index 992dd36..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/internalContentFilters.exsd
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.monitor.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="contentFilters" name="Content Filters"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to filter content received in a monitor.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="filter" minOccurs="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="filter">
-      <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 a Java class that extends &lt;samp&gt;org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate&lt;/samp&gt;.
-Content filter instances of this type will delegate to instances of this class.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.provisional.ContentFilterDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used to identify the filter
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="order" type="string">
-            <annotation>
-               <documentation>
-                  an integer used to order filters relative to each other. Lower orders are processed first
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a content filter extension point:
-
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.internet.monitor.core.contentFilter&quot;&gt;
-      &lt;filter
-            id=&quot;com.example.ExampleIdentifier&quot;
-            name=&quot;%exampleName&quot;
-            class=&quot;com.example.ExampleContentFilter&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </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.core.internal.provisional.ContentFilterDelegate&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) 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.internet.monitor.core/schema/protocolAdapters.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd
deleted file mode 100644
index d3b83b5..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/protocolAdapters.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-      <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.core.internal.ProtocolAdapterDelegate&lt;/samp&gt;

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a translatable name used to identify the protocol adapter

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="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 protocol adapter extension point to define a protocol adapter for TCP/IP:

-

-&lt;pre&gt;

-   &lt;extension 

-         point=&quot;org.eclipse.wst.internet.monitor.core.protocolAdapters&quot;&gt;

-      &lt;protocolAdapter

-            id=&quot;TCPIP&quot;

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

-            name=&quot;%TCPIP&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </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.core.internal.ProtocolAdapterDelegate&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) 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.internet.monitor.core/schema/startup.exsd b/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd
deleted file mode 100644
index 1992e48..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.core/schema/startup.exsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.internet.monitor.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.internet.monitor.core" id="internalStartup" name="Startup"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to load a secondary plugin. The extension point will be called when the monitor core plugin starts up.
-      </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">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.internet.monitor.core.internal.IStartup"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="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.internet.monitor.core.internal.startups&quot;&gt;
-      &lt;startup
-            id=&quot;com.example.myplugin&quot;
-            class=&quot;com.example.myplugin.Startup&quot;/&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         This extension point is internal and should not be used by any other plugins.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="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.internet.monitor.ui/.classpath b/plugins/org.eclipse.wst.internet.monitor.ui/.classpath
deleted file mode 100644
index 01b6b92..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.4"/>
-	<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 08412ea..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.wst.internet.monitor.ui plugin
-
-# Turn on general debugging
-org.eclipse.wst.internet.monitor.ui/debug=true
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.project b/plugins/org.eclipse.wst.internet.monitor.ui/.project
deleted file mode 100644
index b81173e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.internet.monitor.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/.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 e4a0f3b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Fri Feb 23 21:16:28 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-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 dc33863..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.204.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,1.1.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
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 73db36e..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 06, 2007</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 7454728..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               .,\
-               plugin.properties,\
-               icons/,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-src.includes = schema/
-source.. = monitorui/
-output.. = bin/
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif
deleted file mode 100644
index 389954f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif
deleted file mode 100644
index fb20c38..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif
deleted file mode 100644
index e334e9f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/clcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif
deleted file mode 100644
index c374f13..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif
deleted file mode 100644
index 3bf98c0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif
deleted file mode 100644
index 6d71a8b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif
deleted file mode 100644
index 06e0c73..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/dlcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif
deleted file mode 100644
index 389954f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif
deleted file mode 100644
index fb20c38..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/httpHeader.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif
deleted file mode 100644
index cf62b63..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/resendRequest.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif
deleted file mode 100644
index e334e9f..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/elcl16/sortResponseTime.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif
deleted file mode 100644
index d044e59..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/etool16/editRequest.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif
deleted file mode 100644
index c374f13..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/eview16/monitorView.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/host.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif
deleted file mode 100644
index 42e5f31..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOff.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif
deleted file mode 100644
index 2ff3974..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/monitorOn.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif b/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif
deleted file mode 100644
index 8a6e219..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/icons/obj16/tcp.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/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 8cebb0b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.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 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 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 viewResponse;
-	public static String viewRequest;
-	public static String actionSortByResponseTime;
-	public static String viewSizeFormat;
-	public static String actionClearToolTip;
-	public static String actionShowHeader;
-	public static String actionProperties;
-
-	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 16b4d73..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Messages.properties
+++ /dev/null
@@ -1,72 +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
-###############################################################################
-
-# --------------- 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
-
-# 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
-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
-add=&Add...
-edit=&Edit...
-remove=&Remove
-start=&Start
-stop=S&top
-started=Started
-stopped=Stopped
-
-newMonitor=New Monitor
-editMonitor=Edit Monitor
-
-localPort=&Local monitoring port:
-remoteGroup=Monitor
-remoteHost=&Host name:
-remotePort=&Port:
-parseType=&Type:
-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
\ 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 4642449..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorDialog.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.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.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 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) {
-				try {
-					monitor.setTimeout(i);
-				} catch (Exception e) {
-					// ignore
-				}
-				validateFields();
-			}
-		});
-		
-		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() {
-		try {
-			monitor.save();
-		} catch (CoreException ce) {
-			ErrorDialog.openError(getShell(), Messages.errorDialogTitle, ce.getLocalizedMessage(), ce.getStatus());
-			return;
-		}
-		super.okPressed();
-	}
-
-	protected Control createButtonBar(Composite parent) {
-		Control buttonControl = super.createButtonBar(parent);
-		validateFields();
-		return buttonControl;
-	}
-
-	private void setOKButtonEnabled(boolean curIsEnabled) {
-		if (okButton == null)
-			okButton = getButton(IDialogConstants.OK_ID);
-		
-		if (okButton != null)
-			okButton.setEnabled(curIsEnabled);
-	}
-
-	protected void validateFields() {
-		if (monitorPort == null)
-			return;
-		
-		boolean result = true;
-		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 6729050..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorPreferencePage.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import java.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 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(6, 60, true);
-		tableLayout.addColumnData(colData);
-		
-		TableColumn localColumn = new TableColumn(table, SWT.NONE);
-		localColumn.setText(Messages.columnLocal);
-		colData = new ColumnWeightData(6, 60, 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 sublcasses to do special things when
-	 * the Defaults button has been pressed.
-	 * Subclasses may override, but should call <code>super.performDefaults</code>.
-	 * </p>
-	 */
-	protected void performDefaults() {
-		displayButton.setSelection(MonitorUIPlugin.getDefaultShowOnActivityPreference());
-		super.performDefaults();
-	}
-
-	/** 
-	 * @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();
-		
-		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 430cbb0..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorTableLabelProvider.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.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
-			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 35499f4..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/MonitorUIPlugin.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.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 imageDescriptors = new HashMap();
-
-	private static final String lineSeparator = System.getProperty("line.separator");
-
-	private static URL ICON_BASE_URL;
-	private static final String URL_CLCL = "clcl16/";
-	private static final String URL_ELCL = "elcl16/";
-	private static final String URL_DLCL = "dlcl16/";
-	private static final String URL_OBJ = "obj16/";
-
-	public static final String IMG_ELCL_SORT_RESPONSE_TIME = "IMG_ELCL_SORT_RESPONSE_TIME";
-	public static final String IMG_ELCL_CLEAR = "IMG_ELCL_CLEAR";
-	public static final String IMG_ELCL_HTTP_HEADER = "IMG_ELCL_HTTP_HEADER";
-	public static final String IMG_CLCL_SORT_RESPONSE_TIME = "IMG_CLCL_SORT_RESPONSE_TIME";
-	public static final String IMG_CLCL_CLEAR = "IMG_CLCL_CLEAR";
-	public static final String IMG_CLCL_HTTP_HEADER = "IMG_CLCL_HTTP_HEADER";
-	public static final String IMG_DLCL_SORT_RESPONSE_TIME = "IMG_DLCL_SORT_RESPONSE_TIME";
-	public static final String IMG_DLCL_CLEAR = "IMG_DLCL_CLEAR";
-	public static final String IMG_DLCL_HTTP_HEADER = "IMG_DLCL_HTTP_HEADER";
-
-	public static final String IMG_REQUEST_RESPONSE = "requestResponse";
-	public static final String IMG_RESEND_REQUEST_RESPONSE = "resendRequestResponse";
-
-	public static final String IMG_HOST = "host";
-	public static final String IMG_MONITOR_ON = "monitorOn";
-	public static final String IMG_MONITOR_OFF = "monitorOff";
-
-	private static final String SHOW_VIEW_ON_ACTIVITY = "show-view";
-	private static final String SHOW_HEADER = "show-header";
-
-	protected List requests = new ArrayList();
-
-	protected IMonitorListener monitorListener = new IMonitorListener() {
-		public void monitorAdded(IMonitor monitor) {
-			monitor.addRequestListener(requestListener);
-		}
-
-		public void monitorChanged(IMonitor monitor) {
-			// ignore
-		}
-
-		public void monitorRemoved(IMonitor monitor) {
-			monitor.removeRequestListener(requestListener);
-		}
-	};
-
-	protected IRequestListener requestListener = new IRequestListener() {
-		public void requestAdded(IMonitor monitor, Request request) {
-			addRequest(request);
-			
-			if (MonitorView.view != null)
-				MonitorView.view.doRequestAdded(request);
-			else if (MonitorUIPlugin.getShowOnActivityPreference())
-				MonitorView.open(request);
-		}
-
-		public void requestChanged(IMonitor monitor, Request request) {
-			if (MonitorView.view != null)
-				MonitorView.view.doRequestChanged(request);
-		}
-	};
-
-	/**
-	 * MonitorUIPlugin constructor comment.
-	 */
-	public MonitorUIPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Creates and pre-loads the image registry.
-	 * 
-	 * @return ImageRegistry
-	 */
-	protected ImageRegistry createImageRegistry() {
-		ImageRegistry registry = super.createImageRegistry();
-
-		registerImage(registry, IMG_REQUEST_RESPONSE, URL_OBJ + "tcp.gif");
-		registerImage(registry, IMG_RESEND_REQUEST_RESPONSE, URL_ELCL + "resendRequest.gif");
-		
-		registerImage(registry, IMG_HOST, URL_OBJ + "host.gif");
-		registerImage(registry, IMG_MONITOR_ON, URL_OBJ + "monitorOn.gif");
-		registerImage(registry, IMG_MONITOR_OFF, URL_OBJ + "monitorOff.gif");
-
-		registerImage(registry, IMG_CLCL_CLEAR, URL_CLCL + "clear.gif");
-		registerImage(registry, IMG_CLCL_SORT_RESPONSE_TIME, URL_CLCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_CLCL_HTTP_HEADER, URL_CLCL + "httpHeader.gif");
-
-		registerImage(registry, IMG_ELCL_CLEAR, URL_ELCL + "clear.gif");
-		registerImage(registry, IMG_ELCL_SORT_RESPONSE_TIME, URL_ELCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_ELCL_HTTP_HEADER, URL_ELCL + "httpHeader.gif");
-
-		registerImage(registry, IMG_DLCL_CLEAR, URL_DLCL + "clear.gif");
-		registerImage(registry, IMG_DLCL_SORT_RESPONSE_TIME, URL_DLCL + "sortResponseTime.gif");
-		registerImage(registry, IMG_DLCL_HTTP_HEADER, URL_DLCL + "httpHeader.gif");
-
-		return registry;
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key the key
-	 * @return the image
-	 */
-	public static Image getImage(String key) {
-		return getInstance().getImageRegistry().get(key);
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key the key
-	 * @return an image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		try {
-			getInstance().getImageRegistry();
-			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * 
-	 * @return the plugin
-	 */
-	public static MonitorUIPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * Register an image with the registry.
-	 * 
-	 * @param key the key
-	 * @param partialURL
-	 */
-	private void registerImage(ImageRegistry registry, String key, String partialURL) {
-		if (ICON_BASE_URL == null) {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = singleton.getBundle().getEntry(pathSuffix);
-		}
-
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL, partialURL));
-			registry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error registering image", e);
-		}
-	}
-
-	/**
-	 * @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);
-		
-		MonitorCore.addMonitorListener(monitorListener);
-		
-		IMonitor[] monitors = MonitorCore.getMonitors();
-		if (monitors != null) {
-			int size = monitors.length;
-			for (int i = 0; i < size; i++) {
-				monitors[i].addRequestListener(requestListener);
-			}
-		}
-	}
-
-	/**
-	 * @see AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		
-		IMonitor[] monitors = MonitorCore.getMonitors();
-		if (monitors != null) {
-			int size = monitors.length;
-			for (int i = 0; i < size; i++) {
-				monitors[i].removeRequestListener(requestListener);
-			}
-		}
-		
-		MonitorCore.removeMonitorListener(monitorListener);
-	}
-
-	public static boolean getDefaultShowOnActivityPreference() {
-		return getInstance().getPreferenceStore().getDefaultBoolean(SHOW_VIEW_ON_ACTIVITY);
-	}
-
-	public static boolean getShowOnActivityPreference() {
-		return getInstance().getPreferenceStore().getBoolean(SHOW_VIEW_ON_ACTIVITY);
-	}
-
-	public static void setShowOnActivityPreference(boolean b) {
-		getInstance().getPreferenceStore().setValue(SHOW_VIEW_ON_ACTIVITY, b);
-		getInstance().savePluginPreferences();
-	}
-
-	public static boolean getShowHeaderPreference() {
-		return getInstance().getPreferenceStore().getBoolean(SHOW_HEADER);
-	}
-
-	public static void setShowHeaderPreference(boolean b) {
-		getInstance().getPreferenceStore().setValue(SHOW_HEADER, b);
-		getInstance().savePluginPreferences();
-	}
-
-	/**
-	 * Convenience method to 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) {
-			Trace.trace(Trace.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) {
-			Trace.trace(Trace.SEVERE, "Error parsing input", e);
-		}
-		
-		return sb.toString();
-	}
-
-	public void addRequest(Request request) {
-		if (!requests.contains(request))
-			requests.add(request);
-	}
-
-	/**
-	 * Returns a list of the current requests.
-	 *
-	 * @return java.util.List
-	 */
-	public Request[] getRequests() {
-		Request[] r = new Request[requests.size()];
-		requests.toArray(r);
-		return r;
-	}
-	
-	public void clearRequests() {
-		requests = new ArrayList();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/RequestActionFilter.java
deleted file mode 100644
index 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 a7c8381..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Startup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-
-import org.eclipse.wst.internet.monitor.core.internal.IStartup;
-/**
- * Startup hook.
- */
-public class Startup implements IStartup {
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.core.IStartup#startup()
-	 */
-	public void startup() {
-		// do nothing - plugin loading is enough
-	}
-}
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
deleted file mode 100644
index 88d916c..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/Trace.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static final byte CONFIG = 0;
-	public static final byte WARNING = 1;
-	public static final byte SEVERE = 2;
-	public static final byte FINEST = 3;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level the trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!MonitorUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(MonitorUIPlugin.PLUGIN_ID + " " + 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 3ce0785..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) 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 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 (int i = 0; i < children.length; i++) {
-			if (children[i] == topControl) {
-				Point size = children[i].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 (int i = 0; i < children.length; i++) {
-			if (children[i] instanceof Label) {
-				Rectangle r = new Rectangle(rect.x+2, rect.y, rect.width-2, rect.height);
-				children[i].setBounds(r);
-			} else
-				children[i].setBounds(rect);
-			children[i].setVisible(children[i] == 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 74829e6..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/custom/SashForm.java
+++ /dev/null
@@ -1,411 +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, checkStyle(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 checkStyle (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);
-	}
-	
-	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 f9e1b10..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/provisional/ContentViewer.java
+++ /dev/null
@@ -1,132 +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.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;
-	}
-}
\ 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/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 26fb3ff..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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();
-	}
-}
\ 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/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 f350196..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorTreeContentProvider.java
+++ /dev/null
@@ -1,161 +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.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 list = new ArrayList();
-			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
-			if (requests != null) {
-				int size = requests.length;
-				for (int i = 0; i < size; i++) {
-					Request req = requests[i];
-					if ((req.getLocalPort() == in.intValue())
-							&& !(req instanceof ResendHTTPRequest))
-						list.add(req);
-				}
-			}
-			return list.toArray();
-		} else if (element instanceof Request) {
-			Request req = (Request) element;
-			ResendHTTPRequest[] rr = MonitorManager.getInstance().getResendRequests(req);
-			List list = new ArrayList();
-			if (rr != null) {
-				int size = rr.length;
-				for (int i = 0; i < size; i++) {
-					list.add(rr[i]);
-				}
-			}
-			return list.toArray();
-		}
-		return null;
-	}
-
-	/*
-	 * Returns an iterator over the elements belonging to the
-	 * given element. These elements can be presented as rows in a table,
-	 * items in a list, etc.
-	 */
-	public Object[] getElements(Object element) {
-		if (ROOT.equals(element)) {
-			List list = new ArrayList();
-			Request[] requests = MonitorUIPlugin.getInstance().getRequests();
-			if (requests != null) {
-				int size = requests.length;
-				for (int i = 0; i < size; i++) {
-					Request req = requests[i];
-					Integer in = new Integer(req.getLocalPort());
-					if (!list.contains(in))
-						list.add(in);
-				}
-			}
-			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 ade3b03..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/MonitorView.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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);
-				  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;
-	}
-
-	/**
-	 * 
-	 */
-	public void initializeActions() {
-		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);
-		
-		IContentFilter[] filters = MonitorPlugin.getInstance().getContentFilters();
-		IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
-		menuManager.add(httpHeaderAction);
-		int size = filters.length;
-		for (int i = 0; i < size; i++) {
-			FilterAction action = new FilterAction(vm, filters[i]);
-			menuManager.add(action);
-		}
-		menuManager.add(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)
-						view.setSelection(request);
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error opening TCP/IP view", e);
-				}
-			}
-		});
-	}
-
-	/**
-	 * 
-	 */
-	public void setFocus() {
-		if (tree != null)
-			tree.setFocus();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/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 054ce3b..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/Viewer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.internet.monitor.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;
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * 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) {
-			Trace.trace(Trace.SEVERE, "Could not create viewer" + toString() + ": " + e.getMessage());
-			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() + "]";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
deleted file mode 100644
index 49f5bf2..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/view/ViewerManager.java
+++ /dev/null
@@ -1,322 +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.view;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-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 viewers;
-
-	protected Request request;
-
-	protected SashForm reqSash;
-	protected SashForm respSash;
-
-	protected List filters = new ArrayList();
-
-	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(size);
-		for (int i = 0; i < size; i++) {
-			viewers.add(new Viewer(cf[i]));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.internet.monitor.internal.view.IViewerManager#setDisplayHeaderInfo(boolean)
-	 */
-	public void setDisplayHeaderInfo(boolean b) {
-		displayHeaderInf = b;
-		reqHeader.setDisplayHeader(b);
-		respHeader.setDisplayHeader(b);
-		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) {
-				Trace.trace(Trace.SEVERE, "Error while filtering with " + filter.getId(), e);
-			}
-		}
-		return b;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.tcpip.monitor.internal.view.IViewerManager#getRequestViewers()
-	 */
-	public List getRequestViewers() {
-		Iterator iterator = viewers.iterator();
-		List temp = new ArrayList();
-		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 temp = new ArrayList();
-		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;
-		reqViewer = viewer.createViewer();
-		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;
-		respViewer = viewer.createViewer();
-		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 1b7424d..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, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
deleted file mode 100644
index 7ee3193..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/ByteViewer.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.internet.monitor.ui.internal.viewers;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.internet.monitor.ui.internal.ContextIds;
-import org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin;
-import org.eclipse.wst.internet.monitor.ui.internal.provisional.ContentViewer;
-/**
- * A basic byte viewer.
- */
-public class ByteViewer extends ContentViewer {
-	protected Text text;
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#init(Composite)
-	 */
-	public void init(Composite parent) {
-		text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
-		Display display = parent.getDisplay();
-		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) {
-			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()); 
-		}
-		
-		text.setText(out);
-	}
-
-	/** (non-Javadoc)
-	 * @see ContentViewer#dispose()
-	 */
-	public void dispose() {
-		text.dispose();
-		text = null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/HeaderViewer.java
deleted file mode 100644
index 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 bac5fff..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;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java b/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.java
deleted file mode 100644
index 2029df3..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/monitorui/org/eclipse/wst/internet/monitor/ui/internal/viewers/XMLViewer.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
- *     
- *     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\"?>")) {
-				int x = finalMsg.indexOf("\n") + 1;
-				String Msg = finalMsg.substring(x);
-				finalMsg = Msg;
-				
-				messageText.setText(finalMsg);
-			} else if (setEncoding) {
-				// change back to original encoding
-				int begin = finalMsg.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.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 383610e..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/plugin.xml
+++ /dev/null
@@ -1,108 +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"
-    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 6d76378..0000000
--- a/plugins/org.eclipse.wst.internet.monitor.ui/schema/viewers.exsd
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

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

-      </appInfo>

-      <documentation>

-         

-      </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
index a6eb998..921daf3 100644
--- a/plugins/org.eclipse.wst.server.core/.classpath
+++ b/plugins/org.eclipse.wst.server.core/.classpath
@@ -1,7 +1,7 @@
 <?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.4"/>
+	<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/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.core/.settings/org.eclipse.jdt.core.prefs
index 4c45934..2920850 100644
--- 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
@@ -1,24 +1,25 @@
-#Fri Feb 23 21:11:52 EST 2007
+#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=abort
+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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+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.4
+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=ignore
+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
@@ -33,7 +34,7 @@
 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=ignore
+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
@@ -41,13 +42,15 @@
 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=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+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
@@ -62,13 +65,13 @@
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.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.4
+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.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
index df21875..05b2a0c 100644
--- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.core; singleton:=true
-Bundle-Version: 1.0.206.qualifier
+Bundle-Version: 1.0.304.qualifier
 Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -19,4 +19,4 @@
  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
 Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd b/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
index faa16ea..8be2925 100644
--- a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
@@ -13,7 +13,8 @@
    <element name="extension">
       <complexType>
          <sequence>
-            <element ref="installableRuntime" minOccurs="1" maxOccurs="unbounded"/>
+            <element ref="installableRuntime" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="runtime" minOccurs="0" maxOccurs="unbounded"/>
          </sequence>
          <attribute name="point" type="string" use="required">
             <annotation>
@@ -42,7 +43,7 @@
    <element name="installableRuntime">
       <annotation>
          <appInfo>
-            <meta.element labelAttribute="name"/>
+            <meta.element labelAttribute="name" deprecated="true"/>
          </appInfo>
       </annotation>
       <complexType>
@@ -79,6 +80,9 @@
                <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">
@@ -86,13 +90,57 @@
                <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" use="required">
+         <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="url" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a URL to the runtime download
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="licenseUrl" type="string">
+            <annotation>
+               <documentation>
+                  a URL to the runtime license
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="platform" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
             </annotation>
          </attribute>
       </complexType>
diff --git a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
index 598f48e..580669d 100644
--- a/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/launchableAdapters.exsd
@@ -42,7 +42,7 @@
    <element name="launchableAdapter">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
index 5c50289..11d6017 100644
--- a/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/moduleArtifactAdapters.exsd
@@ -44,7 +44,7 @@
    <element name="moduleArtifactAdapter">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd b/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
index d08d4d3..4ee779e 100644
--- a/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/moduleFactories.exsd
@@ -42,7 +42,7 @@
    <element name="moduleFactory">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
index 6032d95..e3ad17c 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeLocators.exsd
@@ -42,7 +42,7 @@
    <element name="runtimeLocator">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
index b52e889..b296f1b 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeTypes.exsd
@@ -42,7 +42,7 @@
    <element name="runtimeType">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
index faec219..7d7d52c 100644
--- a/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/serverTypes.exsd
@@ -40,6 +40,11 @@
    </element>

 

    <element name="serverType">

+      <annotation>

+         <appInfo>

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

+         </appInfo>

+      </annotation>

       <complexType>

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

             <annotation>

diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
index 346cf34..2f6abe2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IRuntimeType.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -132,8 +132,8 @@
 	 * not set and must be explicitly set by the client.
 	 * </p>
 	 * 
-	 * @param id the id to assign to the runtime instance; a generated
-	 *    id is used if id is <code>null</code> or an empty string
+	 * @param 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
@@ -141,4 +141,4 @@
 	 *    or setting it's default values
 	 */
 	public IRuntimeWorkingCopy createRuntime(String id, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
index bb7ddf8..5b777be 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServer.java
@@ -11,6 +11,7 @@
 package org.eclipse.wst.server.core;
 
 import org.eclipse.core.runtime.*;
+import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.ILaunchConfiguration;
 /**
  * Represents a server instance. Every server is an instance of a
@@ -306,9 +307,9 @@
 	 * and the risk of UI deadlock is high. 
 	 * </p>
 	 * 
-	 * @param kind the kind of publish being requested. Valid values are
+	 * @param kind the kind of publish being requested. Valid values are:
 	 *    <ul>
-	 *    <li><code>PUBLSIH_FULL</code>- indicates a full publish.</li>
+	 *    <li><code>PUBLISH_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
@@ -317,10 +318,42 @@
 	 * @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, IModule[], org.eclipse.wst.server.core.IServer.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 an array of modules, or <code>null</code> to publish all
+	 *    modules
+	 *  @param listener an operation listener to receive notification when this
+	 *    operation is done, or <code>null</code> if notification is not
+	 *    required
+	 */
+	public void publish(int kind, IModule[] modules, IOperationListener listener);
+
+	/**
 	 * Returns whether this server is in a state that it can
 	 * be started in the given mode.
 	 *
@@ -341,7 +374,7 @@
 	 * <p>
 	 * If the caller wants to listen for failure or success of the
 	 * server starting, it can add a server listener or use the
-	 * version of this method that takes a status listener as a
+	 * version of this method that takes an operation listener as a
 	 * parameter.
 	 * </p>
 	 *
@@ -351,9 +384,10 @@
 	 * @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, org.eclipse.wst.server.core.IServer.IOperationListener)
 	 */
 	public void start(String launchMode, IProgressMonitor monitor) throws CoreException;
-	
+
 	/**
 	 * Asynchronously starts this server in the given launch mode.
 	 * <p>
@@ -378,26 +412,6 @@
 	public void start(String launchMode, IOperationListener listener);
 
 	/**
-	 * Starts this server in the given launch mode and waits until the server
-	 * has finished starting.
-	 * <p>
-	 * This convenience method uses {@link #start(String, IProgressMonitor)}
-	 * to start the server, and an internal thread and listener to detect
-	 * when the server has finished starting.
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @deprecated this method is deprecated. use start(String,
-	 *    IProgressMonitor, IOperationListener) instead
-	 * @exception CoreException if an error occurs while trying to start the server
-	 */
-	public void synchronousStart(String launchMode, IProgressMonitor monitor) throws CoreException;
-
-	/**
 	 * Returns whether this server is in a state that it can
 	 * be restarted in the given mode. Note that only servers
 	 * that are currently running can be restarted.
@@ -444,7 +458,7 @@
 	 * <p>
 	 * If the caller wants to listen for failure or success of the
 	 * server restarting, it can add a server listener or use the
-	 * version of this method that takes a status listener as a
+	 * version of this method that takes an operation listener as a
 	 * parameter.
 	 * </p>
 	 *
@@ -453,6 +467,7 @@
 	 *    {@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, org.eclipse.wst.server.core.IServer.IOperationListener)
 	 */
 	public void restart(String launchMode, IProgressMonitor monitor);
 
@@ -479,28 +494,6 @@
 	public void restart(String launchMode, IOperationListener listener);
 
 	/**
-	 * Synchronously restarts this server. This operation does
-	 * nothing if this server cannot be stopped ({@link #canRestart(String)}
-	 * returns <code>false</code>.
-	 * <p>
-	 * [issue: There is no way to communicate failure to the
-	 * client. Given that this operation can go awry, there probably
-	 * should be a mechanism that allows failing asynch operations
-	 * to be diagnosed.]
-	 * </p>
-	 *
-	 * @param launchMode a mode in which a server can be launched,
-	 *    one of the mode constants defined by
-	 *    {@link org.eclipse.debug.core.ILaunchManager}
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException if there was an error
-	 * @deprecated this method is deprecated. use restart(String,
-	 *    IProgressMonitor, IOperationListener) instead
-	 */
-	public void synchronousRestart(String launchMode, IProgressMonitor monitor) throws CoreException;
-
-	/**
 	 * Returns whether this server is in a state that it can
 	 * be stopped.
 	 * Servers can be stopped if they are not already stopped and if
@@ -523,12 +516,13 @@
 	 * <p>
 	 * If the caller wants to listen for success or failure of the
 	 * server stopping, it can add a server listener or use the
-	 * version of this method that takes a status listener as a
+	 * 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, org.eclipse.wst.server.core.IServer.IOperationListener)
 	 */
 	public void stop(boolean force);
 
@@ -558,21 +552,6 @@
 	public void stop(boolean force, IOperationListener listener);
 
 	/**
-	 * Stops this server and waits until the server has completely stopped.
-	 * <p>
-	 * This convenience method uses {@link #stop(boolean)}
-	 * to stop the server, and an internal thread and listener to detect
-	 * when the server has complied.
-	 * </p>
-	 * 
-	 * @param force <code>true</code> to kill the server, or <code>false</code>
-	 *    to stop normally
-	 * @deprecated this method is deprecated. use stop(boolean,
-	 *    IOperationListener) instead
-	 */
-	public void synchronousStop(boolean force);
-
-	/**
 	 * Returns the current state of the given module on this server.
 	 * Returns <code>STATE_UNKNOWN</code> if the module
 	 * is not among the ones associated with this server.
@@ -663,14 +642,6 @@
 	 * an exception will be thrown.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
-	 * any need for the progress monitor?]
-	 * </p>
-	 * <p>
-	 * [issue: IServer.synchronousModuleRestart throws CoreException
-	 * if anything goes wrong.]
-	 * </p>
-	 * <p>
 	 * [issue: If the module was just published to the server
 	 * and had never been started, would is be ok to "start"
 	 * the module using this method?]
@@ -699,4 +670,66 @@
 	 * @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 3.0
+	 */
+	public ILaunch getLaunch();
+
+	/**
+	 * 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, org.eclipse.wst.server.core.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, org.eclipse.wst.server.core.IServer.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, org.eclipse.wst.server.core.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/IServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
index 30a2d6e..33c377f 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerType.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -173,8 +173,8 @@
 	 * delegate's setDefaults() method.
 	 * </p>
 	 * 
-	 * @param id the id to assign to the server instance; a generated
-	 *    id is used if id is <code>null</code> or an empty string
+	 * @param 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
@@ -210,8 +210,8 @@
 	 * Consider combining the method with the other.]
 	 * </p>
 	 * 
-	 * @param id the id to assign to the server instance; a generated
-	 *    id is used if id is <code>null</code> or an empty string
+	 * @param 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
@@ -223,4 +223,4 @@
 	 *    or setting it's default values
 	 */
 	public IServerWorkingCopy createServer(String id, IFile file, IProgressMonitor monitor) throws CoreException;
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
index b2812a4..98647f2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerCore.java
@@ -34,10 +34,10 @@
 	private static final String EXTENSION_RUNTIME_TYPE = "runtimeTypes";
 
 	//	cached copy of all runtime types
-	private static List runtimeTypes;
+	private static List<IRuntimeType> runtimeTypes;
 
 	//	cached copy of all server and configuration types
-	private static List serverTypes;
+	private static List<IServerType> serverTypes;
 
 	private static IRegistryChangeListener registryListener;
 
@@ -69,7 +69,7 @@
 	/**
 	 * Returns the resource manager.
 	 *
-	 * @return org.eclipse.wst.server.core.internal.ResourceManager
+	 * @return the resource manager
 	 */
 	private final static ResourceManager getResourceManager() {
 		return ResourceManager.getInstance();
@@ -190,7 +190,7 @@
 		
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_RUNTIME_TYPE);
-		List list = new ArrayList(cf.length);
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>(cf.length);
 		addRuntimeTypes(cf, list);
 		addRegistryListener();
 		runtimeTypes = list;
@@ -201,7 +201,7 @@
 	/**
 	 * Load the runtime types.
 	 */
-	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List list) {
+	private static synchronized void addRuntimeTypes(IConfigurationElement[] cf, List<IRuntimeType> list) {
 		for (int i = 0; i < cf.length; i++) {
 			try {
 				list.add(new RuntimeType(cf[i]));
@@ -223,7 +223,7 @@
 		
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, EXTENSION_SERVER_TYPE);
-		List list = new ArrayList(cf.length);
+		List<IServerType> list = new ArrayList<IServerType>(cf.length);
 		addServerTypes(cf, list);
 		addRegistryListener();
 		serverTypes = list;
@@ -234,7 +234,7 @@
 	/**
 	 * Load the server types.
 	 */
-	private static synchronized void addServerTypes(IConfigurationElement[] cf, List list) {
+	private static synchronized void addServerTypes(IConfigurationElement[] cf, List<IServerType> list) {
 		for (int i = 0; i < cf.length; i++) {
 			try {
 				list.add(new ServerType(cf[i]));
@@ -385,7 +385,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List list = new ArrayList(serverTypes);
+		List<IServerType> list = new ArrayList<IServerType>(serverTypes);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			addServerTypes(cf, list);
 		} else {
@@ -419,7 +419,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List list = new ArrayList(runtimeTypes);
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>(runtimeTypes);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			addRuntimeTypes(cf, list);
 		} else {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
index 6f364dd..227f3ea 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
@@ -88,7 +88,7 @@
 			throw new IllegalArgumentException();
 		
 		// use a set for better contains() performance
-		Set set = new HashSet();
+		Set<IModule> set = new HashSet<IModule>();
 		
 		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
 		if (factories != null) {
@@ -151,7 +151,7 @@
 	 * @return a possibly empty array of modules
 	 */
 	public static IModule[] getModules(IModuleType[] moduleTypes) {
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		
 		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
 		if (factories != null) {
@@ -186,7 +186,7 @@
 	 * @return a possibly empty array of modules
 	 */
 	public static IModule[] getModules(String type) {
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		
 		ModuleFactory[] factories = ServerPlugin.getModuleFactories();
 		if (factories != null) {
@@ -230,13 +230,12 @@
 		if (typeId == null && versionId == null)
 			return true;
 		
-		if (moduleTypes != null) {
-			int size = moduleTypes.length;
-			for (int i = 0; i < size; i++) {
-				if (isSupportedModule(moduleTypes[i], typeId, versionId))
-					return true;
-			}
+		int size = moduleTypes.length;
+		for (int i = 0; i < size; i++) {
+			if (isSupportedModule(moduleTypes[i], typeId, versionId))
+				return true;
 		}
+		
 		return false;
 	}
 
@@ -338,13 +337,13 @@
 				throw new IllegalArgumentException("Cannot add null entries");
 		}
 		
-		List addParentModules = new ArrayList();
+		List<IModule> addParentModules = new ArrayList<IModule>();
 		for (int i = 0; i < size; i++) {
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(add[i], monitor);
 				if (parents != null && parents.length > 0) {				
-					Object parent = parents[0];
+					IModule parent = parents[0];
 					found = true;
 					if (!addParentModules.contains(parent))
 						addParentModules.add(parent);
@@ -363,13 +362,13 @@
 				throw new IllegalArgumentException("Cannot remove null entries");
 		}
 		
-		List removeParentModules = new ArrayList();
+		List<IModule> removeParentModules = new ArrayList<IModule>();
 		for (int i = 0; i < size; i++) {
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(remove[i], monitor);
 				if (parents != null && parents.length > 0) {				
-					Object parent = parents[0];
+					IModule parent = parents[0];
 					found = true;
 					if (!removeParentModules.contains(parent))
 						removeParentModules.add(parent);
@@ -400,7 +399,7 @@
 		
 		String name = NLS.bind(Messages.defaultRuntimeName, typeName);
 		int i = 2;
-		while (isNameInUse(runtime.getOriginal(), name)) {
+		while (ServerPlugin.isNameInUse(runtime.getOriginal(), name)) {
 			name = NLS.bind(Messages.defaultRuntimeName2, new String[] {typeName, i + ""});
 			i++;
 		}
@@ -430,7 +429,7 @@
 		
 		String name = NLS.bind(Messages.defaultServerName, new String[] {typeName, host});
 		int i = 2;
-		while (isNameInUse(server.getOriginal(), name)) {
+		while (ServerPlugin.isNameInUse(server.getOriginal(), name)) {
 			name = NLS.bind(Messages.defaultServerName2, new String[] {typeName, host, i + ""});
 			i++;
 		}
@@ -510,47 +509,6 @@
 	}
 
 	/**
-	 * Returns true if a server or runtime exists with the given name.
-	 *
-	 * @param name a name
-	 * @return <code>true</code> if the name is in use, and <code>false</code>
-	 *    otherwise
-	 */
-	private static boolean isNameInUse(Object element, String name) {
-		if (name == null)
-			return true;
-	
-		List list = new ArrayList();
-		
-		addAll(list, ServerCore.getRuntimes());
-		addAll(list, ServerCore.getServers());
-		
-		if (element != null && 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()))
-				return true;
-			if (obj instanceof IRuntime && name.equalsIgnoreCase(((IRuntime)obj).getName()))
-				return true;
-		}
-
-		return false;
-	}
-	
-	private static void addAll(List list, Object[] obj) {
-		if (obj == null)
-			return;
-		
-		int size = obj.length;
-		for (int i = 0; i < size; i++) {
-			list.add(obj[i]);
-		}
-	}
-	
-	/**
 	 * Returns true if an element exists with the given name.
 	 *
 	 * @param project a project
@@ -579,7 +537,7 @@
 	 * @return a possibly-empty array of runtime instances {@link IRuntime}
 	 */
 	public static IRuntime[] getRuntimes(String type, String version) {
-		List list = new ArrayList();
+		List<IRuntime> list = new ArrayList<IRuntime>();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -605,7 +563,7 @@
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version) {
-		List list = new ArrayList();
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
@@ -632,7 +590,7 @@
 	 * @return a possibly-empty array of runtime type instances {@link IRuntimeType}
 	 */
 	public static IRuntimeType[] getRuntimeTypes(String type, String version, String runtimeTypeId) {
-		List list = new ArrayList();
+		List<IRuntimeType> list = new ArrayList<IRuntimeType>();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
@@ -669,7 +627,7 @@
 		// do it the slow way - go through all servers and
 		// see if this deployable is not configured in it
 		// but could be added
-		List list = new ArrayList();
+		List<IServer> list = new ArrayList<IServer>();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
@@ -679,15 +637,13 @@
 						IModule[] parents = servers[i].getRootModules(module, monitor);
 						if (parents != null && parents.length > 0) {
 							boolean found = false;
-							if (parents != null) {
-								int size2 = parents.length;
-								for (int j = 0; !found && j < size2; j++) {
-									IModule parent = parents[j];
-									IStatus status = servers[i].canModifyModules(new IModule[] { parent }, new IModule[0], monitor);
-									if (status == null || status.isOK()){
-										list.add(servers[i]);
-										found = true;
-									}
+							int size2 = parents.length;
+							for (int j = 0; !found && j < size2; j++) {
+								IModule parent = parents[j];
+								IStatus status = servers[i].canModifyModules(new IModule[] { parent }, new IModule[0], monitor);
+								if (status == null || status.isOK()){
+									list.add(servers[i]);
+									found = true;
 								}
 							}
 						}
@@ -725,7 +681,7 @@
 
 		// do it the slow way - go through all servers and
 		// see if this module is configured in it
-		List list = new ArrayList();
+		List<IServer> list = new ArrayList<IServer>();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
index 816dbb4..984aa18 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/TaskModel.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -17,7 +17,7 @@
  * tasks in a common workflow.
  * <p>
  * The task model contains information about the overall task flow and allows
- * tasks to store and retreive data. Its usage allows mutliple tasks to be
+ * 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>
@@ -58,13 +58,13 @@
 	 */
 	public static final String TASK_LAUNCH_MODE = "launch-mode";
 	
-	private Map map = new HashMap();
+	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 retreive task-specific data.
+	 * any other key to retrieve task-specific data.
 	 * </p>
 	 * 
 	 * @param id an id for the object
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
index 7d4363c..1c00b91 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Base.java
@@ -30,13 +30,14 @@
 	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 map = new HashMap();
-	
+	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.
 	 * 
@@ -54,8 +55,10 @@
 	 */
 	public Base(IFile file, String id) {
 		this.file = file;
-		//this.map = map;
-		map.put(PROP_ID, id);
+		if (id != null && id.length() > 0) {
+			map.put(PROP_ID, id);
+			map.put(PROP_ID_SET, Boolean.toString(true));
+		}
 	}
 
 	/**
@@ -136,15 +139,14 @@
 		}
 		return defaultValue;
 	}
-	
-	public List getAttribute(String attributeName, List defaultValue) {
+
+	@SuppressWarnings("unchecked")
+	public List<String> getAttribute(String attributeName, List<String> defaultValue) {
 		try {
 			Object obj = map.get(attributeName);
 			if (obj == null)
 				return defaultValue;
-			List list = (List) obj;
-			if (list != null)
-				return list;
+			return (List<String>) obj;
 		} catch (Exception e) {
 			// ignore
 		}
@@ -156,9 +158,7 @@
 			Object obj = map.get(attributeName);
 			if (obj == null)
 				return defaultValue;
-			Map map2 = (Map) obj;
-			if (map2 != null)
-				return map2;
+			return (Map) obj;
 		} catch (Exception e) {
 			// ignore
 		}
@@ -272,11 +272,11 @@
 	protected abstract void saveState(IMemento memento);
 
 	protected void load(IMemento memento) {
-		map = new HashMap();
+		map = new HashMap<String, Object>();
 		
-		Iterator iterator = memento.getNames().iterator();
+		Iterator<String> iterator = memento.getNames().iterator();
 		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
+			String key = iterator.next();
 			map.put(key, memento.getString(key));
 		}
 		IMemento[] children = memento.getChildren("list");
@@ -296,24 +296,21 @@
 		loadState(memento);
 	}
 
-	
 	protected void loadMap(IMemento memento) {
 		String key = memento.getString("key");
-		Map vMap = new HashMap();
-		List keys = memento.getNames();
-		Iterator iterator = keys.iterator();
+		Map<String, String> vMap = new HashMap<String, String>();
+		Iterator<String> iterator = memento.getNames().iterator();
 		while(iterator.hasNext()) {
-			String s = (String)iterator.next();
+			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 list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		int i = 0;
 		String key2 = memento.getString("value" + (i++));
 		while (key2 != null) {
@@ -367,11 +364,12 @@
 			IMemento memento = XMLMemento.loadMemento(in);
 			load(memento);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from file" + e.getMessage(), e);
+			Trace.trace(Trace.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 {
-				in.close();
+				if (in != null)
+					in.close();
 			} catch (Exception e) {
 				// ignore
 			}
@@ -392,11 +390,12 @@
 			IMemento memento = XMLMemento.loadMemento(in);
 			load(memento);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load from path: " + e.getMessage(), e);
+			Trace.trace(Trace.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 {
-				in.close();
+				if (in != null)
+					in.close();
 			} catch (Exception e) {
 				// ignore
 			}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
index 8a70dbd..20cc5c2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Client.java
@@ -84,7 +84,7 @@
 			try {
 				delegate = (ClientDelegate) element.createExecutableExtension("class");
 			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + e.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), e);
 			}
 		}
 		return delegate;
@@ -101,7 +101,7 @@
 		try {
 			return getDelegate().supports(server, launchable, launchMode);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 			return false;
 		}
 	}
@@ -113,7 +113,7 @@
 		try {
 			return getDelegate().launch(server, launchable, launchMode, launch);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		return null;
 	}
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
index 89a64c0..51c1aac 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -40,14 +40,6 @@
  */
 public interface IMemento {
 	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
 	 * Creates a new child of this memento with the given type.
 	 * <p>
 	 * The <code>getChild</code> and <code>getChildren</code> methods
@@ -60,23 +52,7 @@
 	 * @see #getChildren
 	 */
 	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
+
 	/**
 	 * Returns the first child with the given type id.
 	 *
@@ -101,22 +77,6 @@
 	 *   but was not a floating point number
 	 */
 	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
 
 	/**
 	 * Returns the integer value of the given key.
@@ -144,16 +104,8 @@
 	 *  but was not a boolean
 	 */
 	public Boolean getBoolean(String key);
-	
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
+
+	public List<String> getNames();
 	
 	/**
 	 * Sets the value of the given key to the given integer.
@@ -172,14 +124,6 @@
 	public void putBoolean(String key, boolean value);
 
 	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
 	 * Sets the value of the given key to the given string.
 	 *
 	 * @param key the key
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
index ddc2dab..0b37574 100644
--- 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
@@ -32,6 +32,8 @@
  */
 public class InstallableRuntime implements IInstallableRuntime {
 	private IConfigurationElement element;
+	
+	private static Object LOCK = new Object();
 
 	public InstallableRuntime(IConfigurationElement element) {
 		super();
@@ -118,7 +120,11 @@
 		ISite site = InstallableRuntime.getSite(fromSite, monitor);
 		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
 		for (int i = 0; i < featureRefs.length; i++) {
-			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(featureRefs[i].getVersionedIdentifier().getVersion().toString())) {
+			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)
@@ -174,6 +180,20 @@
 		return null;
 	}
 
+	public static ISite getSite(URL fromSiteURL, IProgressMonitor monitor) throws IOException {
+		try {
+			synchronized (LOCK) {
+				return SiteManager.getSite(fromSiteURL, monitor);
+			}
+		} catch (CoreException e) {
+			Trace.trace(Trace.WARNING, "Could not parse site", e);
+			throw new IOException(e.getMessage());
+		} catch (Exception e) {
+			Trace.trace(Trace.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);
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
new file mode 100644
index 0000000..0843fff
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableRuntime2.java
@@ -0,0 +1,206 @@
+/*******************************************************************************
+ * 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 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.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;
+
+	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 getURL() {
+		try {
+			return element.getAttribute("url");
+		} catch (Exception e) {
+			// ignore
+		}
+		return null;
+	}
+
+	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;
+		try {
+			url = new URL(getLicenseURL());
+			InputStream in = url.openStream();
+			ByteArrayOutputStream out = new ByteArrayOutputStream();
+			byte[] buf = new byte[8192];
+			copy(buf, in, out);
+			return new String(out.toByteArray());
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+		return null;
+	}
+
+	/*
+	 * @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 copy(byte[] buf, InputStream in, OutputStream out) throws IOException {
+		int r = in.read(buf);
+		while (r >= 0) {
+			out.write(buf, 0, r);
+			r = in.read(buf);
+		}
+	}
+
+	/*
+	 * @see IInstallableRuntime#install(IPath, IProgressMonitor)
+	 */
+	public void install(IPath path, IProgressMonitor monitor) throws CoreException {
+		URL url = null;
+		File temp = null;
+		try {
+			url = new URL(getURL());
+			temp = File.createTempFile("runtime", "");
+			temp.deleteOnExit();
+		} catch (IOException e) {
+			throw new CoreException(null);
+		}
+		String name = url.getPath();
+		
+		// download
+		try {
+			InputStream in = url.openStream();
+			FileOutputStream fout = new FileOutputStream(temp);
+			byte[] buf = new byte[8192];
+			copy(buf, in, null);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+		try {
+			FileInputStream in = new FileInputStream(temp);
+			if (name.endsWith("zip"))
+				unzip(in, path, monitor);
+			else if (name.endsWith("tar"))
+				untar(in, path, monitor);
+		} catch (Exception e) {
+			Trace.trace(Trace.SEVERE, "Error uncompressing 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());
+				copy(buf, zin, fout);
+			}
+			zin.closeEntry();
+			entry = zin.getNextEntry();
+		}
+		zin.close();
+	}
+
+	protected void untar(InputStream in, IPath path, IProgressMonitor monitor) throws IOException {
+		// untar from bundle into path
+		BufferedInputStream bin = new BufferedInputStream(in);
+		TarInputStream zin = new TarInputStream(bin);
+		TarEntry entry = zin.getNextEntry();
+		byte[] buf = new byte[8192];
+		while (entry != null) {
+			String name = entry.getName();
+			monitor.setTaskName("Untarring: " + name);
+			
+			if (entry.getFileType() == TarEntry.DIRECTORY)
+				path.append(name).toFile().mkdirs();
+			else {
+				FileOutputStream fout = new FileOutputStream(path.append(name).toFile());
+				copy(buf, zin, fout);
+			}
+			zin.close();
+			entry = zin.getNextEntry();
+		}
+		zin.close();
+	}
+
+	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/InstallableServer.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
index 5a9e169..fd93a7f 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/InstallableServer.java
@@ -134,7 +134,11 @@
 		ISite site = InstallableRuntime.getSite(fromSite, monitor);
 		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
 		for (int i = 0; i < featureRefs.length; i++) {
-			if (featureId.equals(featureRefs[i].getVersionedIdentifier().getIdentifier()) && featureVersion.equals(featureRefs[i].getVersionedIdentifier().getVersion().toString())) {
+			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)
@@ -166,7 +170,11 @@
 			ISiteFeatureReference[] features = site.getFeatureReferences();
 			for (int i = 0; i < features.length; i++) {
 				if (features[i].getVersionedIdentifier().getIdentifier().equals(featureId)) {
-					Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
+					String ver = features[i].getVersionedIdentifier().toString();
+					int ind = ver.indexOf("_");
+					if (ind >= 0)
+						ver = ver.substring(ind+1);
+					Version nextCand = new Version(ver);
 					if (nextCand.compareTo(latestVersion) >= 0) {
 						latestVersion = nextCand;
 						last = features[i];
@@ -233,7 +241,11 @@
 			ISiteFeatureReference[] features = site.getFeatureReferences();
 			for (int i = 0; i < features.length; i++) {
 				if (features[i].getVersionedIdentifier().getIdentifier().equals(featureId)) {
-					Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
+					String ver = features[i].getVersionedIdentifier().toString();
+					int ind = ver.indexOf("_");
+					if (ind >= 0)
+						ver = ver.substring(ind+1);
+					Version nextCand = new Version(ver);
 					if (nextCand.compareTo(latestVersion) > 0) {
 						latestVersion = nextCand;
 					}
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
index 0cb0392..7595c77 100644
--- 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
@@ -47,7 +47,7 @@
 			try {
 				delegate = (LaunchableAdapterDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		return delegate;
@@ -62,7 +62,7 @@
 		} catch (CoreException ce) {
 			throw ce;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 			return null;
 		}
 	}
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
index b36e495..3f481b3 100644
--- 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
@@ -49,6 +49,7 @@
 	public static String publishedModule;
 	public static String errorStartTimeout;
 	public static String errorStartFailed;
+	public static String errorRestartFailed;
 	public static String errorModuleRestartFailed;
 	public static String errorInstallingServer;
 	public static String errorInstallingServerFeature;
@@ -59,11 +60,11 @@
 	public static String errorStopAlreadyStopped;
 	public static String moduleTypeUnknown;
 	public static String jobStartingServer;
+	public static String jobStoppingServer;
 	public static String jobRestartingServer;
 	public static String jobUpdateServer;
 	public static String jobInstallingRuntime;
 	public static String errorMissingAdapter;
-	public static String webResource;
 	
 	public static String errorCopyingFile;
 	public static String errorDeleting;
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
index cd1eea4..b3c3e68 100644
--- 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
@@ -27,14 +27,13 @@
 publishedModule={0} published successfully
 
 jobStartingServer=Starting server - {0}
+jobStoppingServer=Stopping server - {0}
 jobRestartingServer=Restarting server - {0}
 jobUpdateServer=Updating status for {0}...
 jobInstallingRuntime=Installing server runtime
 
 # --------------- Misc UI ---------------
 
-webResource=Web resource
-
 # Error Messages
 errorPublishing=Could not publish to the server.
 errorNoConfiguration=The server has no configuration.
@@ -46,6 +45,7 @@
 errorDuplicateRuntimeName=Name is already in use.
 errorStartTimeout=Timeout waiting for {0} to start. Server did not start after {1}s. 
 errorStartFailed=Server {0} failed to start.
+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.
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
index a828e49..de322b5 100644
--- 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
@@ -160,7 +160,7 @@
 			try {
 				delegate = (ModuleArtifactAdapterDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		return delegate;
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
index 59ce708..0e07791 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
@@ -27,7 +27,7 @@
 public class ModuleFactory implements IOrdered {
 	private IConfigurationElement element;
 	public ModuleFactoryDelegate delegate;
-	private List moduleTypes;
+	private List<IModuleType> moduleTypes;
 
 	/**
 	 * ModuleFactory constructor comment.
@@ -95,7 +95,7 @@
 				InternalInitializer.initializeModuleFactoryDelegate(delegate, this, monitor);
 				Trace.trace(Trace.PERFORMANCE, "ModuleFactory.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getId());
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
@@ -177,7 +177,7 @@
 			return modules;
 		
 		getModuleTypes();
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		
 		int size = modules.length;
 		for (int i = 0; i < size; i++) {
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
index 4f0b6cd..e0d575c 100644
--- 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
@@ -14,126 +14,26 @@
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModuleFile;
 /**
- * 
+ * @deprecated use org.eclipse.wst.server.core.util.ModuleFile instead
  */
-public class ModuleFile implements IModuleFile {
-	protected IFile file;
-	protected File file2;
-	protected String name;
-	protected IPath path;
-	protected long stamp = -1;
-
-	/**
-	 * Creates a workspace module file with the current modification stamp.
-	 * 
-	 * @param file
-	 * @param name
-	 * @param path
-	 */
+public class ModuleFile extends org.eclipse.wst.server.core.util.ModuleFile {
 	public ModuleFile(IFile file, String name, IPath path) {
-		this.file = file;
-		this.name = name;
-		this.path = path;
-		if (file != null)
-			stamp = file.getModificationStamp() + file.getLocalTimeStamp();
+		super(file, name, path);
 	}
 
-	/**
-	 * Creates an external module file with the current modification stamp.
-	 * 
-	 * @param file
-	 * @param name
-	 * @param path
-	 */
+	public ModuleFile(String name, IPath path, long stamp) {
+		super(name, path, stamp);
+	}
+
 	public ModuleFile(File file, String name, IPath path) {
-		this.file2 = file;
-		this.name = name;
-		this.path = path;
-		if (file != null)
-			stamp = file2.lastModified();
+		super(file, name, path);
 	}
 
 	/**
-	 * 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
+	 * @deprecated use another constructor
 	 */
 	public ModuleFile(IFile file, String name, IPath path, long stamp) {
-		this.file = file;
-		this.name = name;
-		this.path = path;
-		this.stamp = stamp;
-	}
-
-	/**
-	 * Creates a module file with a specific modification stamp and no
-	 * file reference.
-	 * 
-	 * @param name
-	 * @param path
-	 * @param stamp
-	 */
-	public ModuleFile(String name, IPath path, long stamp) {
-		this.name = name;
-		this.path = path;
-		this.stamp = stamp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleFile#getModificationStamp()
-	 */
-	public long getModificationStamp() {
-		return stamp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath()
-	 */
-	public IPath getModuleRelativePath() {
-		return path;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	public boolean equals(Object obj) {
-		if (obj == 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 + "]";
+		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
index e463855..edf7af7 100644
--- 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
@@ -11,102 +11,12 @@
 package org.eclipse.wst.server.core.internal;
 
 import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.server.core.model.IModuleFolder;
-import org.eclipse.wst.server.core.model.IModuleResource;
 /**
- * 
+ * @deprecated use org.eclipse.wst.server.core.util.ModuleFolder instead
  */
-public class ModuleFolder implements IModuleFolder {
-	private static final IModuleResource[] EMPTY_RESOURCE_ARRAY = new IModuleResource[0];
-	protected IContainer container;
-	protected String name;
-	protected IPath path;
-	protected IModuleResource[] members;
-
-	/**
-	 * Creates a workspace module folder.
-	 * 
-	 * @param container
-	 * @param name
-	 * @param path
-	 */
+public class ModuleFolder extends org.eclipse.wst.server.core.util.ModuleFolder {
 	public ModuleFolder(IContainer container, String name, IPath path) {
-		this.container = container;
-		this.name = name;
-		this.path = path;
-	}
-
-	/**
-	 * Creates a workspace module folder with no folder reference.
-	 * 
-	 * @param name
-	 * @param path
-	 */
-	public ModuleFolder(String name, IPath path) {
-		this.name = name;
-		this.path = path;
-	}
-
-	/**
-	 * Sets the members (contents) of this folder.
-	 * 
-	 * @param members
-	 */
-	public void setMembers(IModuleResource[] members) {
-		this.members = members;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getModuleRelativePath()
-	 */
-	public IPath getModuleRelativePath() {
-		return path;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleResource#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.model.IModuleFolder#members()
-	 */
-	public IModuleResource[] members() {
-		if (members == null)
-			return EMPTY_RESOURCE_ARRAY;
-		return members;
-	}
-
-	public boolean equals(Object obj) {
-		if (obj == 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 + "]";
+		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/ModuleProperties.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleProperties.java
index a628f47..ac0279a 100644
--- 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
@@ -25,7 +25,7 @@
 	private static final String MODULE_DATA_FILE = "modules.xml";
 
 	protected static ModuleProperties instance;
-	protected Map modules;
+	protected Map<String, String> modules;
 
 	/**
 	 * ModuleProperties constructor.
@@ -53,7 +53,7 @@
 	private void load() {
 		Trace.trace(Trace.FINEST, "Loading module info");
 		String filename = ServerPlugin.getInstance().getStateLocation().append(MODULE_DATA_FILE).toOSString();
-		modules = new HashMap();
+		modules = new HashMap<String, String>();
 		if (!(new File(filename).exists()))
 			return;
 		
@@ -69,7 +69,7 @@
 				modules.put(moduleId, serverId);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load servers", e);
 		}
 	}
 
@@ -82,7 +82,7 @@
 			Iterator iterator = modules.keySet().iterator();
 			while (iterator.hasNext()) {
 				String moduleId = (String) iterator.next();
-				String serverId = (String) modules.get(moduleId);
+				String serverId = modules.get(moduleId);
 				
 				IMemento child = memento.createChild("module");
 				child.putString("moduleId", moduleId);
@@ -102,7 +102,7 @@
 		if (module == null)
 			throw new IllegalArgumentException();
 		
-		String serverId = (String) modules.get(module.getId());
+		String serverId = modules.get(module.getId());
 		if (serverId == null || serverId.length() == 0)
 			return null;
 		
@@ -120,7 +120,7 @@
 		if (server != null)
 			newServerId = server.getId();
 		
-		String serverId = (String) modules.get(module.getId());
+		String serverId = modules.get(module.getId());
 		if (serverId == null && newServerId == null)
 			return;
 		if (serverId != null && serverId.equals(newServerId))
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
index c0a00b2..47d188c 100644
--- 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
@@ -22,6 +22,8 @@
 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.
  */
@@ -120,7 +122,7 @@
 			
 			resources = loadResource(memento, new Path(""));
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load module publish info information: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load module publish info information", e);
 		}
 	}
 
@@ -131,7 +133,7 @@
 		if (memento == null)
 			return EMPTY_MODULE_RESOURCE;
 		
-		List list = new ArrayList(10);
+		List<IModuleResource> list = new ArrayList<IModuleResource>(10);
 		
 		// load files
 		IMemento[] children = memento.getChildren(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
index 72ded94..5e5b48d 100644
--- 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
@@ -26,9 +26,9 @@
 	protected String version;
 
 	//	cached copy of all module kinds
-	private static List moduleKinds;
+	private static List<ModuleKind> moduleKinds;
 
-	private static List moduleTypes;
+	private static List<ModuleType> moduleTypes;
 
 	public ModuleType(String id, String version) {
 		super();
@@ -61,7 +61,7 @@
 	 */
 	public synchronized static ModuleType getModuleType(String id, String version) {
 		if (moduleTypes == null)
-			moduleTypes = new ArrayList();
+			moduleTypes = new ArrayList<ModuleType>();
 		
 		// look for an existing one first
 		Iterator iterator = moduleTypes.iterator();
@@ -116,7 +116,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleTypes");
 
 		int size = cf.length;
-		moduleKinds = new ArrayList(size);
+		moduleKinds = new ArrayList<ModuleKind>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				ModuleKind moduleType = new ModuleKind(cf[i]);
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
index 839d7dc..53ef7df 100644
--- 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
@@ -74,7 +74,7 @@
 			else
 				serverProject = false;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not load preferences: " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Could not load preferences", e);
 		} finally {
 			try {
 				if (in != null)
@@ -124,7 +124,8 @@
 			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "", e));
 		} finally {
 			try {
-				in.close();
+				if (in != null)
+					in.close();
 			} catch (Exception e) {
 				// ignore
 			}
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
index f489a33..909f609 100644
--- 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
@@ -1,13 +1,13 @@
-/**********************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+/*******************************************************************************
+ * 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.*;
@@ -25,10 +25,10 @@
 	protected static final String PUBLISH_DIR = "publish";
 
 	// map of server ids to Strings of filename containing publish data
-	protected Map serverIdToPath;
+	protected Map<String, String> serverIdToPath;
 
 	// map of loaded serverIds to publish info
-	protected Map serverIdToPublishInfo;
+	protected Map<String, ServerPublishInfo> serverIdToPublishInfo;
 
 	/**
 	 * PublishInfo constructor comment.
@@ -36,8 +36,8 @@
 	private PublishInfo() {
 		super();
 	
-		serverIdToPath = new HashMap();
-		serverIdToPublishInfo = new HashMap();
+		serverIdToPath = new HashMap<String, String>();
+		serverIdToPublishInfo = new HashMap<String, ServerPublishInfo>();
 		load();
 	}
 
@@ -66,10 +66,10 @@
 		String serverId = server.getId();
 		if (serverIdToPath.containsKey(serverId)) {
 			if (serverIdToPublishInfo.containsKey(serverId))
-				return (ServerPublishInfo) serverIdToPublishInfo.get(serverId);
+				return serverIdToPublishInfo.get(serverId);
 			
 			// force .dat extension
-			String partialPath = (String) serverIdToPath.get(serverId);
+			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);
@@ -116,7 +116,7 @@
 			return;
 		
 		String serverId = server.getId();
-		String path2 = (String) serverIdToPath.get(serverId);
+		String path2 = serverIdToPath.get(serverId);
 		synchronized (PUBLISH_DIR) {
 			serverIdToPath.remove(serverId);
 			serverIdToPublishInfo.remove(serverId);
@@ -143,7 +143,7 @@
 			
 			IMemento[] serverChild = memento.getChildren("server");
 			int size = serverChild.length;
-			serverIdToPath = new HashMap(size + 2);
+			serverIdToPath = new HashMap<String, String>(size + 2);
 			
 			for (int i = 0; i < size; i++) {
 				String id = serverChild[i].getString("id");
@@ -151,7 +151,7 @@
 				serverIdToPath.put(id, partialPath);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load global publish info: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load global publish info", e);
 		}
 	}
 
@@ -167,7 +167,7 @@
 			Iterator iterator = serverIdToPath.keySet().iterator();
 			while (iterator.hasNext()) {
 				String serverId = (String) iterator.next();
-				String partialPath = (String) serverIdToPath.get(serverId);
+				String partialPath = serverIdToPath.get(serverId);
 				
 				IMemento server = memento.createChild("server");
 				server.putString("id", serverId);
@@ -179,4 +179,4 @@
 			Trace.trace(Trace.SEVERE, "Could not save global publish info", e);
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishTask.java
index 519f06e..b8ede5c 100644
--- 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
@@ -68,7 +68,7 @@
 				delegate = (PublishTaskDelegate) element.createExecutableExtension("class");
 				Trace.trace(Trace.PERFORMANCE, "PublishTask.getDelegate(): <" + (System.currentTimeMillis() - time) + "> " + getId());
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		return delegate;
@@ -84,7 +84,7 @@
 			if (po != null)
 				return po;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		return new PublishOperation[0];
 	}
@@ -99,7 +99,7 @@
 			if (po != null)
 				return po;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 		return new PublishOperation[0];
 	}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
index 51bec16..f474c84 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
@@ -40,15 +40,15 @@
 	private static ResourceManager instance;
 
 	// currently active runtimes and servers
-	protected List runtimes;
-	protected List servers;
+	protected List<IRuntime> runtimes;
+	protected List<IServer> servers;
 
 	// lifecycle listeners
-	protected transient List runtimeListeners;
-	protected transient List serverListeners;
+	protected transient List<IRuntimeLifecycleListener> runtimeListeners;
+	protected transient List<IServerLifecycleListener> serverListeners;
 
 	// cache for disposing servers & runtimes
-	protected List activeBundles;
+	protected List<String> activeBundles;
 
 	// resource change listeners
 	private IResourceChangeListener resourceChangeListener;
@@ -61,7 +61,7 @@
 	private static boolean initialized;
 	private static boolean initializing;
 	
-	protected static List serverProjects = new ArrayList();
+	protected static List<String> serverProjects = new ArrayList<String>();
 
 	/**
 	 * Server resource change listener.
@@ -217,8 +217,8 @@
 			e.printStackTrace();
 		}*/
 		
-		servers = new ArrayList();
-		activeBundles = new ArrayList();
+		servers = new ArrayList<IServer>();
+		activeBundles = new ArrayList<String>();
 		
 		loadRuntimesList();
 		loadServersList();
@@ -375,7 +375,7 @@
 		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
 	
 		if (runtimeListeners == null)
-			runtimeListeners = new ArrayList(3);
+			runtimeListeners = new ArrayList<IRuntimeLifecycleListener>(3);
 		runtimeListeners.add(listener);
 	}
 	
@@ -396,7 +396,7 @@
 		Trace.trace(Trace.LISTENERS, "Adding server resource listener " + listener + " to " + this);
 	
 		if (serverListeners == null)
-			serverListeners = new ArrayList(3);
+			serverListeners = new ArrayList<IServerLifecycleListener>(3);
 		serverListeners.add(listener);
 	}
 	
@@ -556,7 +556,7 @@
 		Preferences prefs = ServerPlugin.getInstance().getPluginPreferences();
 		String xmlString = prefs.getString("runtimes");
 		
-		runtimes = new ArrayList();
+		runtimes = new ArrayList<IRuntime>();
 		if (xmlString != null && xmlString.length() > 0) {
 			try {
 				ByteArrayInputStream in = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
@@ -571,7 +571,7 @@
 					runtimes.add(runtime);
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load runtimes: " + e.getMessage());
+				Trace.trace(Trace.WARNING, "Could not load runtimes", e);
 			}
 		}
 	}
@@ -592,7 +592,7 @@
 				servers.add(server);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load servers: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load servers", e);
 		}
 		
 		if (ServerPreferences.getInstance().isSyncOnStartup()) {
@@ -666,7 +666,7 @@
 		if (!initialized)
 			init();
 		
-		List list = new ArrayList(runtimes);
+		List<IRuntime> list = new ArrayList<IRuntime>(runtimes);
 		
 		IRuntime[] r = new IRuntime[list.size()];
 		list.toArray(r);
@@ -783,8 +783,6 @@
 					handleRemovedFile(file);
 				else
 					handleChangedFile(file, monitor);
-				if (monitor != null)
-					monitor.done();
 			}
 			return false;
 		}
@@ -928,7 +926,7 @@
 				((Server) server).loadFromFile(monitor);
 				fireServerEvent(server, EVENT_CHANGED);
 			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file + ": " + e.getMessage());
+				Trace.trace(Trace.SEVERE, "Error reloading server " + server.getName() + " from " + file, e);
 				deregisterServer(server);
 			}
 		} else
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
index 7f0066c..49313ec 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * 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
@@ -13,7 +13,6 @@
 import org.eclipse.core.runtime.*;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServer.IOperationListener;
 import org.eclipse.wst.server.core.internal.ServerSchedulingRule;
 /**
  * A job for restarting a server.
@@ -33,29 +32,20 @@
 	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	protected IStatus run(IProgressMonitor monitor) {
-		IOperationListener listener2 = new IOperationListener() {
+		final IStatus[] status = new IStatus[1];
+		getServer().restart(launchMode, new IServer.IOperationListener() {
 			public void done(IStatus result) {
-				isRestartCompleted = true;
-				resultStatus = result;
+				status[0] = result;
 			}
-		};
-		getServer().restart(launchMode, listener2);
+		});
 		
-		// block util the restart is completed
-		while (!isRestartCompleted) {
-			if (monitor.isCanceled())
-				return Status.CANCEL_STATUS;
-			
+		while (status[0] == null & !monitor.isCanceled()) {
 			try {
-				Thread.sleep(250);
-			} catch (InterruptedException e) {
-				// Do nothing.
+				Thread.sleep(200);
+			} catch (Exception e) {
+				// ignore
 			}
 		}
-		
-		if (resultStatus != null)
-			return resultStatus;
-		
-		return Status.OK_STATUS;
+		return status[0];
 	}
-}
\ 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
index 0f83e78..a3fc88e 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -61,7 +61,7 @@
 			try {
 				delegate = (RuntimeLocatorDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
@@ -79,11 +79,11 @@
 				}
 			}, monitor);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 	}
 
 	public String toString() {
 		return "RuntimeLocator[" + getId() + "]";
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/RuntimeType.java
index c74f28b..d1d1def 100644
--- 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
@@ -22,7 +22,7 @@
  */
 public class RuntimeType implements IRuntimeType {
 	private IConfigurationElement element;
-	private List moduleTypes;
+	private List<IModuleType> moduleTypes;
 
 	public RuntimeType(IConfigurationElement element) {
 		super();
@@ -143,6 +143,7 @@
 			return null;
 		
 		RuntimeWorkingCopy rwc = new RuntimeWorkingCopy(null, id, this);
+		ServerUtil.setRuntimeDefaultName(rwc);
 		rwc.setDefaults(monitor);
 		return rwc;
 	}
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
index 2968f2d..f93051a 100644
--- 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
@@ -29,7 +29,6 @@
  * 
  */
 public class RuntimeWorkingCopy extends Runtime implements IRuntimeWorkingCopy {
-	protected String PROP_ID_SET = "id-set";
 	protected Runtime runtime;
 	protected WorkingCopyHelper wch;
 	
@@ -46,10 +45,10 @@
 		
 		runtimeType = runtime.getRuntimeType();
 		
-		map = new HashMap(runtime.map);
+		map = new HashMap<String, Object>(runtime.map);
 		wch = new WorkingCopyHelper(this);
 	}
-	
+
 	/**
 	 * Create a new runtime working copy for a new runtime.
 	 * 
@@ -61,14 +60,6 @@
 		super(file, id, runtimeType);
 		wch = new WorkingCopyHelper(this);
 		wch.setDirty(true);
-		
-		if (id == null || id.length() == 0) {
-			id = ServerPlugin.generateId();
-			map.put(PROP_ID, id);
-		} else
-			setAttribute(PROP_ID_SET, true);
-		
-		// throw CoreException if the id already exists
 	}
 
 	/**
@@ -92,12 +83,12 @@
 	public void setAttribute(String attributeName, boolean value) {
 		wch.setAttribute(attributeName, value);
 	}
-	
+
 	public void setAttribute(String attributeName, String value) {
 		wch.setAttribute(attributeName, value);
 	}
 
-	public void setAttribute(String attributeName, List value) {
+	public void setAttribute(String attributeName, List<String> value) {
 		wch.setAttribute(attributeName, value);
 	}
 
@@ -118,7 +109,7 @@
 	public void setTestEnvironment(boolean b) {
 		setAttribute(PROP_TEST_ENVIRONMENT, b);
 	}
-	
+
 	/**
 	 * @see IRuntimeWorkingCopy#setStub(boolean)
 	 */
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
index 270fd2a..e4eefe5 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
@@ -36,7 +36,12 @@
 	 */
 	public static final String ATTR_SERVER_ID = "server-id";
 
-	protected static final List EMPTY_LIST = new ArrayList(0);
+	/**
+	 * The most recent launch used to start the server.
+	 */
+	private static ILaunch launch;
+
+	protected static final List<String> EMPTY_LIST = new ArrayList<String>(0);
 
 	/**
 	 * File extension (value "server") for serialized representation of
@@ -65,6 +70,8 @@
 	protected static final String PROP_ENABLED_OPTIONAL_TASKS = "enabled-optional-publish-tasks";
 	public static final String PROP_AUTO_PUBLISH_TIME = "auto-publish-time";
 	public static final String PROP_AUTO_PUBLISH_SETTING = "auto-publish-setting";
+	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', '@', '&'};
 
@@ -76,10 +83,10 @@
 	protected IFolder configuration;
 
 	// the list of modules that are to be published to the server
-	protected List modules;
+	protected List<IModule> modules;
 
 	// the list of external modules
-	protected List externalModules;
+	protected List<IModule> externalModules;
 
 	// transient fields
 	protected transient String mode = ILaunchManager.RUN_MODE;
@@ -87,12 +94,12 @@
 	protected transient int serverSyncState;
 	protected transient boolean serverRestartNeeded;
 
-	protected transient Map moduleState = new HashMap();
-	protected transient Map modulePublishState = new HashMap();
-	protected transient Map moduleRestartState = new HashMap();
+	protected transient 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 moduleStatus = new HashMap();
+	protected transient Map<String, IStatus> moduleStatus = new HashMap<String, IStatus>();
 
 	protected transient ServerPublishInfo publishInfo;
 	protected transient AutoPublishThread autoPublishThread;
@@ -103,7 +110,7 @@
 	};*/
 
 	// publish listeners
-	protected transient List publishListeners;
+	protected transient List<IPublishListener> publishListeners;
 
 	// Server listeners
 	protected transient ServerNotificationManager notificationManager;
@@ -164,7 +171,7 @@
 
 		protected IStatus run(IProgressMonitor monitor) {
 			final boolean[] changed = new boolean[1];
-			final List modules2 = new ArrayList();
+			final List<IModule[]> modules2 = new ArrayList<IModule[]>();
 			
 			IModuleVisitor visitor = new IModuleVisitor() {
 				public boolean visit(IModule[] module2) {
@@ -228,6 +235,8 @@
 		this.serverType = serverType;
 		map.put("server-type-id", serverType.getId());
 		map.put(PROP_HOSTNAME, "localhost");
+		map.put(PROP_START_TIMEOUT, ((ServerType)serverType).getStartTimeout() );
+		map.put(PROP_STOP_TIMEOUT, ((ServerType)serverType).getStopTimeout() );
 		if (runtime != null && runtime.getRuntimeType() != null) {
 			String name = runtime.getRuntimeType().getName();
 			map.put(PROP_NAME, name);
@@ -347,6 +356,15 @@
 	public int getAutoPublishSetting() {
 		return getAttribute(PROP_AUTO_PUBLISH_SETTING, AUTO_PUBLISH_DEFAULT);
 	}
+	
+	public int getStartTimeoutSetting() {
+		return getAttribute(PROP_START_TIMEOUT, ((ServerType)getServerType()).getStartTimeout());
+	}
+	
+	public int getStopTimoutSetting() {
+		return getAttribute(PROP_STOP_TIMEOUT, ((ServerType)getServerType()).getStopTimeout());
+	}
+	
 
 	/**
     * Returns a list of id (String) of preferred publish operations that will not be run
@@ -354,7 +372,7 @@
     * 
     * @return a list of publish operation ids
     */
-	public List getDisabledPreferredPublishOperationIds() {
+	public List<String> getDisabledPreferredPublishOperationIds() {
 		return getAttribute(PROP_DISABLED_PERFERRED_TASKS, EMPTY_LIST);		
 	}
 
@@ -364,7 +382,7 @@
     * 
     * @return a list of publish operation ids
     */
-	public List getEnabledOptionalPublishOperationIds() {
+	public List<String> getEnabledOptionalPublishOperationIds() {
 		return getAttribute(PROP_ENABLED_OPTIONAL_TASKS, EMPTY_LIST);
 	}
 
@@ -538,12 +556,12 @@
 			return;
 		
 		Boolean b = new Boolean(r);
-		moduleState.put(getKey(module), b);
+		moduleRestartState.put(getKey(module), b);
 		fireModuleRestartChangeEvent(module);
 	}
 
 	public void setExternalModules(IModule[] modules) {
-		externalModules = new ArrayList();
+		externalModules = new ArrayList<IModule>();
 		if (modules != null) {
 			int size = modules.length;
 			for (int i = 0; i < size; i++)
@@ -551,7 +569,7 @@
 		}
 	}
 
-	protected List getExternalModules() {
+	protected List<IModule> getExternalModules() {
 		return externalModules;
  	}
 
@@ -617,15 +635,20 @@
 		}
 	}
 
+	/**
+	 * Returns the event notification manager.
+	 * 
+	 * @return the notification manager
+	 */
 	private ServerNotificationManager getServerNotificationManager() {
-		if (notificationManager == null) {
+		if (notificationManager == null)
 			notificationManager = new ServerNotificationManager();
-		}
+		
 		return notificationManager;
 	}
 
 	/**
-	 * Returns the configuration's sync state.
+	 * Returns the server's publish sync state.
 	 *
 	 * @return int
 	 */
@@ -634,7 +657,7 @@
 	}
 
 	/**
-	 * Sets the configuration sync state.
+	 * Sets the server's publish sync state.
 	 *
 	 * @param state int
 	 */
@@ -656,9 +679,9 @@
 		if (listener == null)
 			throw new IllegalArgumentException("Listener cannot be null");
 		Trace.trace(Trace.LISTENERS, "Adding publish listener " + listener + " to " + this);
-
+		
 		if (publishListeners == null)
-			publishListeners = new ArrayList();
+			publishListeners = new ArrayList<IPublishListener>();
 		publishListeners.add(listener);
 	}
 
@@ -849,7 +872,7 @@
 	 * Publish to the server using the progress monitor. The result of the
 	 * publish operation is returned as an IStatus.
 	 */
-	public IStatus publish(final int kind, IProgressMonitor monitor) {
+	public IStatus publish(int kind, IProgressMonitor monitor) {
 		if (getServerType() == null)
 			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorMissingAdapter, null);
 
@@ -877,6 +900,43 @@
 		return status;
 	}
 
+	/*
+	 * Publish the given modules to the server.
+	 * TODO: Implementation!
+	 */
+	public void publish(int kind, IModule[] modules2, IOperationListener listener) {
+		if (getServerType() == null) {
+			listener.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) {
+			listener.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);
+		
+		if (((ServerType)getServerType()).startBeforePublish() && (getServerState() == IServer.STATE_STOPPED)) {
+			try {
+				synchronousStart(ILaunchManager.RUN_MODE, new NullProgressMonitor());
+			} catch (CoreException ce) {
+				Trace.trace(Trace.SEVERE, "Error starting server", ce);
+				listener.done(ce.getStatus());
+				return;
+			}
+		}
+		
+		long time = System.currentTimeMillis();
+		firePublishStarted();
+		IStatus status = doPublish(kind, new NullProgressMonitor());
+		firePublishFinished(status);
+		Trace.trace(Trace.PERFORMANCE, "Server.publish(): <" + (System.currentTimeMillis() - time) + "> " + getServerType().getId());
+		listener.done(status);
+	}
+
 	protected IStatus doPublish(int kind, IProgressMonitor monitor) {
 		Trace.trace(Trace.FINEST, "-->-- Publishing to server: " + toString() + " -->--");
 		
@@ -886,7 +946,7 @@
 			getServerPublishInfo().startCaching();
 			IStatus status = getBehaviourDelegate(monitor).publish(kind, monitor);
 			
-			final List modules2 = new ArrayList();
+			final List<IModule[]> modules2 = new ArrayList<IModule[]>();
 			visit(new IModuleVisitor() {
 				public boolean visit(IModule[] module) {
 					if (getModulePublishState(module) == IServer.PUBLISH_STATE_NONE)
@@ -909,7 +969,7 @@
 	}
 
 	/**
-	 * Returns the publish tasks that have been targetted to this server.
+	 * 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.
 	 * 
@@ -919,7 +979,7 @@
 	 * @return a possibly empty array of IOptionalTasks
 	 */
 	public PublishOperation[] getTasks(int kind, List moduleList, List kindList) {
-		List tasks = new ArrayList();
+		List<PublishOperation> tasks = new ArrayList<PublishOperation>();
 		
 		String serverTypeId = getServerType().getId();
 		
@@ -963,11 +1023,11 @@
 		
 		Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR);
 		
-		return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]);
+		return tasks.toArray(new PublishOperation[tasks.size()]);
 	}
 
 	/**
-	 * Returns all publish tasks that have been targetted to this server type.
+	 * 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
@@ -978,7 +1038,7 @@
 		if (serverTypeId == null)
 			return new PublishOperation[0];
 		
-		List tasks = new ArrayList();
+		List<PublishOperation> tasks = new ArrayList<PublishOperation>();
 		
 		IPublishTask[] publishTasks = ServerPlugin.getPublishTasks();
 		if (publishTasks != null) {
@@ -994,7 +1054,7 @@
 		
 		Collections.sort(tasks, PUBLISH_OPERATION_COMPARTOR);
 		
-		return (PublishOperation[])tasks.toArray(new PublishOperation[tasks.size()]);
+		return tasks.toArray(new PublishOperation[tasks.size()]);
 	}
 
 	public String getPublishOperationId(PublishOperation op) {
@@ -1007,8 +1067,8 @@
 	 * 
 	 * @return a list of IModule[]
 	 */
-	public List getAllModules() {
-		final List moduleList = new ArrayList();
+	public List<IModule[]> getAllModules() {
+		final List<IModule[]> moduleList = new ArrayList<IModule[]>();
 		
 		IModuleVisitor visitor = new IModuleVisitor() {
 			public boolean visit(IModule[] module) {
@@ -1124,26 +1184,9 @@
 		return Status.OK_STATUS;
 	}
 
-	public ILaunch getExistingLaunch() {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		
-		ILaunch[] launches = launchManager.getLaunches();
-		int size = launches.length;
-		for (int i = 0; i < size; i++) {
-			ILaunchConfiguration launchConfig = launches[i].getLaunchConfiguration();
-			try {
-				if (launchConfig != null) {
-					String serverId = launchConfig.getAttribute(SERVER_ID, (String) null);
-					if (getId().equals(serverId)) {
-						if (!launches[i].isTerminated())
-							return launches[i];
-					}
-				}
-			} catch (CoreException e) {
-				// ignore
-			}
-		}
-		
+	public ILaunch getLaunch() {
+		if (launch != null && !launch.isTerminated())
+			return launch;
 		return null;
 	}
 
@@ -1262,7 +1305,7 @@
 			ILaunchConfiguration launchConfig = getLaunchConfiguration(true, monitor);
 			//if (launchConfig == null)
 			//	throw new CoreException();
-			ILaunch launch = launchConfig.launch(mode2, monitor); // , true); - causes workspace lock
+			launch = launchConfig.launch(mode2, monitor); // , true); - causes workspace lock
 			Trace.trace(Trace.FINEST, "Launch: " + launch);
 		} catch (CoreException e) {
 			Trace.trace(Trace.SEVERE, "Error starting server " + toString(), e);
@@ -1449,68 +1492,74 @@
 		
 		try {
 			getBehaviourDelegate(null).stop(force);
+		} catch (RuntimeException e) {
+			Trace.trace(Trace.SEVERE, "Error calling delegate stop() " + toString(), e);
+			throw e;
 		} catch (Throwable t) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate stop() " + toString(), t);
+			throw new RuntimeException(t);
 		}
 	}
 
 	/**
 	 * @see IServer#start(String, IOperationListener)
 	 */
-	public void start(String mode2, IOperationListener listener2) {
-		if (getServerType() == null)
+	public void start(String mode2, final IOperationListener opListener) {
+		if (getServerType() == null) {
+			opListener.done(Status.OK_STATUS);
 			return;
+		}
 		
-		Trace.trace(Trace.FINEST, "synchronousStart 1");
-		final Object mutex = new Object();
+		Trace.trace(Trace.FINEST, "start 1");
 		
 		// make sure that the delegate is loaded and the server state is correct
 		loadAdapter(ServerBehaviourDelegate.class, null);
 		
+		class Operation {
+			public boolean isDone;
+			public IServerListener listener;
+			
+			public synchronized void complete(IStatus status) {
+				if (isDone)
+					return;
+				
+				isDone = true;
+				opListener.done(status);
+				removeServerListener(listener);
+			}
+		}
+		final Operation operation = new Operation();
+		
 		// add listener to the server
 		IServerListener listener = new IServerListener() {
 			public void serverChanged(ServerEvent event) {
+				if (operation.isDone)
+					return;
 				int eventKind = event.getKind();
 				IServer server = event.getServer();
 				if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
 					int state = server.getServerState();
-					if (state == IServer.STATE_STARTED || state == IServer.STATE_STOPPED) {
-						// notify waiter
-						synchronized (mutex) {
-							try {
-								Trace.trace(Trace.FINEST, "synchronousStart notify");
-								mutex.notifyAll();
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Error notifying server start", e);
-							}
-						}
-					}
+					if (state == IServer.STATE_STARTED)
+						operation.complete(Status.OK_STATUS);
+					else if (state == IServer.STATE_STOPPED)
+						operation.complete(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null));
 				}
 			}
 		};
+		operation.listener = listener;
 		addServerListener(listener);
 		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final int serverTimeout = ((ServerType) getServerType()).getStartTimeout();
+		// add timeout thread
+		final int serverTimeout = getStartTimeoutSetting();
 		if (serverTimeout > 0) {
 			Thread thread = new Thread("Server start timeout") {
 				public void run() {
 					try {
 						Thread.sleep(serverTimeout);
-						if (!timer.alreadyDone) {
-							// notify waiter
-							synchronized (mutex) {
-								Trace.trace(Trace.FINEST, "start notify timeout");
-								if (!timer.alreadyDone)
-									timer.timeout = true;
-								mutex.notifyAll();
-							}
-						}
+						if (operation.isDone)
+							return;
+						Server.this.stop(false);
+						operation.complete(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), (serverTimeout / 1000) + "" }), null));
 					} catch (Exception e) {
 						Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e);
 					}
@@ -1520,52 +1569,22 @@
 			thread.start();
 		}
 		
-		Trace.trace(Trace.FINEST, "synchronousStart 2");
+		Trace.trace(Trace.FINEST, "start 2");
 		
 		// start the server
 		IProgressMonitor monitor = new NullProgressMonitor();
 		try {
 			start(mode2, monitor);
 		} catch (CoreException e) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			listener2.done(e.getStatus());
+			operation.complete(e.getStatus());
 			return;
 		}
 		if (monitor.isCanceled()) {
-			removeServerListener(listener);
-			timer.alreadyDone = true;
-			listener2.done(Status.CANCEL_STATUS);
+			operation.complete(Status.CANCEL_STATUS);
 			return;
 		}
 		
-		Trace.trace(Trace.FINEST, "synchronousStart 3");
-		
-		// wait for it! wait for it! ...
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && !(getServerState() == IServer.STATE_STARTED || getServerState() == IServer.STATE_STOPPED))
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
-			}
-			timer.alreadyDone = true;
-		}
-		removeServerListener(listener);
-		
-		if (timer.timeout) {
-			listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), (serverTimeout / 1000) + "" }), null));
-			stop(false);
-			return;
-		}
-		
-		if (getServerState() == IServer.STATE_STOPPED) {
-			listener2.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null));
-			return;
-		}
-		
-		Trace.trace(Trace.FINEST, "synchronousStart 4");
-		listener2.done(Status.OK_STATUS);
+		Trace.trace(Trace.FINEST, "start 3");
 	}
 
 	public void synchronousStart(String mode2, IProgressMonitor monitor) throws CoreException {
@@ -1785,30 +1804,46 @@
 							t.start();
 						}
 					}
-					
 				}
 			});
-	
+			
 			// stop the server
 			stop(false);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error restarting server", e);
-			listener.done(null);
+			listener.done(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null));
 		}
 	}
-	
+
 	/*
 	 * @see IServer#stop(boolean, IOperationListener)
 	 */
-	public void stop(boolean force, IOperationListener listener2) {
-		if (getServerType() == null)
+	public void stop(boolean force, final IOperationListener opListener) {
+		if (getServerType() == null) {
+			opListener.done(Status.OK_STATUS);
 			return;
+		}
 		
-		if (getServerState() == IServer.STATE_STOPPED)
+		if (getServerState() == IServer.STATE_STOPPED) {
+			opListener.done(Status.OK_STATUS);
 			return;
+		}
 		
-		final Object mutex = new Object();
-	
+		class Operation {
+			public boolean isDone;
+			public IServerListener listener;
+			
+			public synchronized void complete(IStatus status) {
+				if (isDone)
+					return;
+				
+				isDone = true;
+				opListener.done(status);
+				removeServerListener(listener);
+			}
+		}
+		final Operation operation = new Operation();
+		
 		// add listener to the server
 		IServerListener listener = new IServerListener() {
 			public void serverChanged(ServerEvent event) {
@@ -1816,41 +1851,23 @@
 				IServer server = event.getServer();
 				if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
 					int state = server.getServerState();
-					if (Server.this == server && state == IServer.STATE_STOPPED) {
-						// notify waiter
-						synchronized (mutex) {
-							try {
-								mutex.notifyAll();
-							} catch (Exception e) {
-								Trace.trace(Trace.SEVERE, "Error notifying server stop", e);
-							}
-						}
-					}
+					if (state == IServer.STATE_STOPPED)
+						operation.complete(Status.OK_STATUS);
 				}
 			}
 		};
+		operation.listener = listener;
 		addServerListener(listener);
 		
-		class Timer {
-			boolean timeout;
-			boolean alreadyDone;
-		}
-		final Timer timer = new Timer();
-		
-		final int serverTimeout = ((ServerType) getServerType()).getStopTimeout();
+		final int serverTimeout = getStopTimoutSetting();
 		if (serverTimeout > 0) {
 			Thread thread = new Thread("Server stop timeout") {
 				public void run() {
 					try {
 						Thread.sleep(serverTimeout);
-						if (!timer.alreadyDone) {
-							timer.timeout = true;
-							// notify waiter
-							synchronized (mutex) {
-								Trace.trace(Trace.FINEST, "stop notify timeout");
-								mutex.notifyAll();
-							}
-						}
+						if (operation.isDone)
+							return;
+						operation.complete(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRestartFailed, getName()), null));
 					} catch (Exception e) {
 						Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
 					}
@@ -1859,31 +1876,14 @@
 			thread.setDaemon(true);
 			thread.start();
 		}
-	
+		
 		// stop the server
-		stop(force);
-	
-		// wait for it! wait for it!
-		synchronized (mutex) {
-			try {
-				while (!timer.timeout && getServerState() != IServer.STATE_STOPPED)
-					mutex.wait();
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Error waiting for server stop", e);
-			}
+		try {
+			stop(force);
+		} catch (RuntimeException e) {
+			operation.complete(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRestartFailed, getName()), null));
+			return;
 		}
-		removeServerListener(listener);
-		
-		/*
-		//can't throw exceptions
-		if (timer.timeout)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));
-		else
-			timer.alreadyDone = true;
-		
-		if (getServerState() == IServer.STATE_STOPPED)
-			throw new CoreException(new Status(IStatus.ERROR, ServerCore.PLUGIN_ID, 0, ServerPlugin.getResource("%errorStartFailed", getName()), null));*/
-		listener2.done(Status.OK_STATUS);
 	}
 
 	/*
@@ -2101,7 +2101,7 @@
 	}
 
 	protected void setInternal(ServerWorkingCopy wc) {
-		map = new HashMap(wc.map);
+		map = new HashMap<String, Object>(wc.map);
 		configuration = wc.configuration;
 		runtime = wc.runtime;
 		serverSyncState = wc.serverSyncState;
@@ -2178,7 +2178,7 @@
 			return getDelegate(monitor).canModifyModules(add, remove);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate canModifyModules() " + toString(), e);
-			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, e.getMessage(), null);
+			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, e.getMessage(), e);
 		}
 	}
 
@@ -2188,11 +2188,11 @@
 	public IModule[] getModules() {
 		if (modules == null) {
 			// convert from attribute
-			List list = getAttribute(MODULE_LIST, (List) null);
+			List<String> list = getAttribute(MODULE_LIST, (List<String>) null);
 			if (list == null)
-				list = new ArrayList(1);
+				list = new ArrayList<String>(1);
 			
-			modules = new ArrayList(list.size() + 1);
+			modules = new ArrayList<IModule>(list.size() + 1);
 			Iterator iterator = list.iterator();
 			while (iterator.hasNext()) {
 				String moduleId = (String) iterator.next();
@@ -2247,7 +2247,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			Integer in = (Integer) moduleState.get(getKey(module));
+			Integer in = moduleState.get(getKey(module));
 			if (in != null)
 				return in.intValue();
 		} catch (Exception e) {
@@ -2263,7 +2263,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			Integer in = (Integer) modulePublishState.get(getKey(module));
+			Integer in = modulePublishState.get(getKey(module));
 			if (in != null)
 				return in.intValue();
 		} catch (Exception e) {
@@ -2305,7 +2305,7 @@
 		try {
 			return getDelegate(monitor).getRootModules(module);
 		} catch (CoreException se) {
-			//Trace.trace(Trace.FINER, "CoreException calling delegate getParentModules() " + toString() + ": " + se.getMessage());
+			//Trace.trace(Trace.FINER, "CoreException calling delegate getParentModules() " + toString(), se);
 			throw se;
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate getParentModules() " + toString(), e);
@@ -2349,7 +2349,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			Boolean b = (Boolean) moduleRestartState.get(getKey(module));
+			Boolean b = moduleRestartState.get(getKey(module));
 			if (b != null)
 				return b.booleanValue();
 		} catch (Exception e) {
@@ -2488,7 +2488,7 @@
 		if (module == null || module.length == 0)
 			throw new IllegalArgumentException("Module cannot be null or empty");
 		try {
-			return (IStatus) moduleStatus.get(getKey(module));
+			return moduleStatus.get(getKey(module));
 		} catch (Exception e) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
index 23a009a..30dc6b9 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitor.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -66,7 +66,7 @@
 			try {
 				delegate = (ServerMonitorDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate" + toString(), t);
 			}
 		}
 		return delegate;
@@ -88,7 +88,7 @@
 		} catch (CoreException ce) {
 			throw ce;
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 			return -1;
 		}
 	}
@@ -103,7 +103,7 @@
 		try {
 			getDelegate().stopMonitoring(server, port);
 		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
+			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString(), e);
 		}
 	}
 
@@ -115,4 +115,4 @@
 	public String toString() {
 		return "Monitor[" + getId() + "]";
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
index 996b78e..f541701 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerMonitorManager.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -25,7 +25,7 @@
 	
 	protected static ServerMonitorManager instance;
 
-	protected List ports = new ArrayList(); 
+	protected List<MonitoredPort> ports = new ArrayList<MonitoredPort>(); 
 	protected ServerMonitor monitor;
 	
 	class MonitoredPort implements IMonitoredServerPort {
@@ -212,7 +212,7 @@
 	 * @return a possibly empty array of monitored server ports
 	 */
 	public IMonitoredServerPort[] getMonitoredPorts(IServer server) {
-		List list = new ArrayList();
+		List<IMonitoredServerPort> list = new ArrayList<IMonitoredServerPort>();
 		Iterator iterator = ports.iterator();
 		while (iterator.hasNext()) {
 			MonitoredPort mp = (MonitoredPort) iterator.next();
@@ -220,9 +220,7 @@
 				list.add(mp);
 		}
 		
-		IMonitoredServerPort[] msp = new IMonitoredServerPort[list.size()];
-		list.toArray(msp);
-		return msp;
+		return list.toArray(new IMonitoredServerPort[list.size()]);
 	}
 
 	/**
@@ -365,7 +363,7 @@
 				}
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load monitor info: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load monitor info", e);
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerNotificationManager.java
index 5ff2b1f..9fcd892 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * 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
@@ -20,7 +20,7 @@
  * Notification manager for server.
  */
 public class ServerNotificationManager {
-	private List listenerList = new ArrayList();
+	private List<ListenerEntry> listenerList = new ArrayList<ListenerEntry>();
 
 	/**
 	 * For masking event on all changes.
@@ -91,12 +91,12 @@
 		ListenerEntry[] listeners;
 		synchronized (listenerList) {
 			size = listenerList.size();
-			listeners = (ListenerEntry[]) listenerList.toArray(new ListenerEntry[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);
@@ -111,21 +111,22 @@
 				} catch (Exception e) {
 					Trace.trace(Trace.SEVERE, "  Error firing server event: " + curEntry.getListener(), e);
 				}
-				Trace.trace(Trace.LISTENERS, "-<- Done Firing server event -<-");
+				Trace.trace(Trace.LISTENERS, "-<- Done firing server event -<-");
 			}
 		}
 		Trace.trace(Trace.FINEST, "-<- Done broadcasting server event -<-");
 	}
-	
+
 	/**
 	 * Returns true if the listener list is not empty; otherwise, returns false.
+	 * TODO: this actually returns the negative
 	 * 
 	 * @return true if the listener list is not empty; otherwise, returns false
 	 */
 	protected boolean hasListenerEntries() {
-		return listenerList.size() == 0;
+		return listenerList.isEmpty();
 	}
-	
+
 	/**
 	 * Remove a listener from notification.
 	 * 
@@ -133,9 +134,9 @@
 	 */
 	public void removeListener(IServerListener curListener) {
 		Trace.trace(Trace.FINEST, "->- Removing server listener from notification manager: " + curListener + " ->-");
-		if (curListener == null) {
+		if (curListener == null)
 			return;
-		}
+		
 		ListenerEntry matchedListenerEntry = null;
 		Iterator listenerIter = listenerList.iterator();
 		while (matchedListenerEntry == null && listenerIter.hasNext()) {
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
index 85a6f72..9e60286 100644
--- 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
@@ -19,7 +19,10 @@
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.core.IModuleArtifact;
+import org.eclipse.wst.server.core.IModuleType;
+import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeType;
+import org.eclipse.wst.server.core.IServerAttributes;
 import org.eclipse.wst.server.core.ServerCore;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
@@ -37,34 +40,34 @@
 	protected static int num = 0;
 
 	// cached copy of all launchable adapters
-	private static List launchableAdapters;
+	private static List<ILaunchableAdapter> launchableAdapters;
 
 	// cached copy of all launchable clients
-	private static List clients;
+	private static List<IClient> clients;
 
 	// cached copy of all module factories
-	private static List moduleFactories;
+	private static List<ModuleFactory> moduleFactories;
 
 	// singleton instance of this class
 	private static ServerPlugin singleton;
 
 	// cached copy of all publish tasks
-	private static List publishTasks;
+	private static List<IPublishTask> publishTasks;
 
 	//	cached copy of all server monitors
-	private static List monitors;
+	private static List<IServerMonitor> monitors;
 
 	//	cached copy of all runtime locators
-	private static List runtimeLocators;
+	private static List<IRuntimeLocator> runtimeLocators;
 
 	// cached copy of all module artifact adapters
-	private static List moduleArtifactAdapters;
+	private static List<ModuleArtifactAdapter> moduleArtifactAdapters;
 
 	//	cached copy of all installable servers
-	private static List installableServers;
+	private static List<IInstallableServer> installableServers;
 
 	//	cached copy of all installable runtimes
-	private static List installableRuntimes;
+	private static List<IInstallableRuntime> installableRuntimes;
 
 	// registry listener
 	private static IRegistryChangeListener registryListener;
@@ -82,7 +85,7 @@
 	}
 
 	// temp directories - String key to TempDir
-	protected Map tempDirHash;
+	protected Map<String, TempDir> tempDirHash;
 
 	/**
 	 * server core plugin id
@@ -132,7 +135,7 @@
 		// first, look through hash of current directories
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
+			TempDir dir = tempDirHash.get(key);
 			if (dir != null) {
 				dir.age = 0;
 				return statePath.append(dir.path);
@@ -172,7 +175,7 @@
 		
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		try {
-			TempDir dir = (TempDir) tempDirHash.get(key);
+			TempDir dir = tempDirHash.get(key);
 			if (dir != null) {
 				tempDirHash.remove(key);
 				saveTempDirInfo();
@@ -191,7 +194,7 @@
 		IPath statePath = ServerPlugin.getInstance().getStateLocation();
 		String filename = statePath.append(TEMP_DATA_FILE).toOSString();
 		
-		tempDirHash = new HashMap();
+		tempDirHash = new HashMap<String, TempDir>();
 		try {
 			IMemento memento = XMLMemento.loadMemento(filename);
 			
@@ -208,7 +211,7 @@
 				tempDirHash.put(key, d);
 			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Could not load temporary directory information: " + e.getMessage());
+			Trace.trace(Trace.WARNING, "Could not load temporary directory information", e);
 		}
 	}
 
@@ -235,7 +238,7 @@
 			Iterator iterator = tempDirHash.keySet().iterator();
 			while (iterator.hasNext()) {
 				String key = (String) iterator.next();
-				TempDir d = (TempDir) tempDirHash.get(key);
+				TempDir d = tempDirHash.get(key);
 	
 				if (d.age < 5) {
 					IMemento child = memento.createChild("temp-directory");
@@ -322,6 +325,48 @@
 		context.removeBundleListener(bundleListener);
 	}
 
+	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>();
+		
+		addAll(list, ServerCore.getRuntimes());
+		addAll(list, ServerCore.getServers());
+		
+		if (element != null && 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()))
+				return true;
+			if (obj instanceof IRuntime && name.equalsIgnoreCase(((IRuntime)obj).getName()))
+				return true;
+		}
+	
+		return false;
+	}
+
 	/**
 	 * Utility method to tokenize a string into an array.
 	 * 
@@ -333,7 +378,7 @@
 		if (str == null)
 			return new String[0];
 		
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		
 		StringTokenizer st = new StringTokenizer(str, delim);
 		while (st.hasMoreTokens()) {
@@ -347,8 +392,8 @@
 		return s;
 	}
 
-	protected static List getModuleTypes(IConfigurationElement[] elements) {
-		List list = new ArrayList();
+	protected static List<org.eclipse.wst.server.core.IModuleType> getModuleTypes(IConfigurationElement[] elements) {
+		List<IModuleType> list = new ArrayList<IModuleType>();
 		if (elements == null)
 			return list;
 		
@@ -366,15 +411,6 @@
 		return list;
 	}
 
-	public static String generateId() {
-		String s = df.format(new Date()).toString() + num++;
-		s = s.replace(' ', '_');
-		s = s.replace(':', '_');
-		s = s.replace('/', '_');
-		s = s.replace('\\', '_');
-		return s;
-	}
-
 	/**
 	 * Returns true if ids contains id.
 	 * 
@@ -478,7 +514,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "launchableAdapters");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<ILaunchableAdapter> list = new ArrayList<ILaunchableAdapter>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new LaunchableAdapter(cf[i]));
@@ -502,7 +538,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "clients");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IClient> list = new ArrayList<IClient>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new Client(cf[i]));
@@ -556,7 +592,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "publishTasks");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IPublishTask> list = new ArrayList<IPublishTask>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new PublishTask(cf[i]));
@@ -676,7 +712,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleFactories");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<ModuleFactory> list = new ArrayList<ModuleFactory>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ModuleFactory(cf[i]));
@@ -689,8 +725,8 @@
 		size = list.size();
 		for (int i = 0; i < size - 1; i++) {
 			for (int j = i + 1; j < size; j++) {
-				ModuleFactory a = (ModuleFactory) list.get(i);
-				ModuleFactory b = (ModuleFactory) list.get(j);
+				ModuleFactory a = list.get(i);
+				ModuleFactory b = list.get(j);
 				if (a.getOrder() > b.getOrder()) {
 					list.set(i, b);
 					list.set(j, a);
@@ -729,7 +765,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "internalServerMonitors");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IServerMonitor> list = new ArrayList<IServerMonitor>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ServerMonitor(cf[i]));
@@ -770,7 +806,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "runtimeLocators");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IRuntimeLocator> list = new ArrayList<IRuntimeLocator>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeLocator(cf[i]));
@@ -809,7 +845,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "moduleArtifactAdapters");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<ModuleArtifactAdapter> list = new ArrayList<ModuleArtifactAdapter>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ModuleArtifactAdapter(cf[i]));
@@ -823,8 +859,8 @@
 		size = list.size();
 		for (int i = 0; i < size-1; i++) {
 			for (int j = i+1; j < size; j++) {
-				ModuleArtifactAdapter a = (ModuleArtifactAdapter) list.get(i);
-				ModuleArtifactAdapter b = (ModuleArtifactAdapter) list.get(j);
+				ModuleArtifactAdapter a = list.get(i);
+				ModuleArtifactAdapter b = list.get(j);
 				if (a.getPriority() < b.getPriority()) {
 					list.set(i, b);
 					list.set(j, a);
@@ -917,7 +953,7 @@
 		if (installableServers == null)
 			loadInstallableServers();
 		
-		List availableServers = new ArrayList();
+		List<IInstallableServer> availableServers = new ArrayList<IInstallableServer>();
 		Iterator iterator = installableServers.iterator();
 		IRuntimeType[] runtimeTypes = ServerCore.getRuntimeTypes();
 		int size = runtimeTypes.length;
@@ -995,7 +1031,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableServers");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IInstallableServer> list = new ArrayList<IInstallableServer>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new InstallableServer(cf[i]));
@@ -1021,10 +1057,15 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerPlugin.PLUGIN_ID, "installableRuntimes");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<IInstallableRuntime> list = new ArrayList<IInstallableRuntime>(size);
 		for (int i = 0; i < size; i++) {
 			try {
-				list.add(new InstallableRuntime(cf[i]));
+				if ("runtime".equals(cf[i].getName())) {
+					String platform = cf[i].getAttribute("platform");
+					//if (platform == null || Swt.g) TODO
+						list.add(new InstallableRuntime2(cf[i]));
+				} else
+					list.add(new InstallableRuntime(cf[i]));
 				Trace.trace(Trace.EXTENSION_POINT, "  Loaded installableRuntime: " + cf[i].getAttribute("id"));
 			} catch (Throwable t) {
 				Trace.trace(Trace.SEVERE, "  Could not load installableRuntime: " + cf[i].getAttribute("id"), t);
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
index c650032..6e1f519 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPublishInfo.java
@@ -43,7 +43,7 @@
 	protected IPath path;
 
 	// map of module ids to ModulePublishInfo
-	protected Map modulePublishInfo;
+	protected Map<String, ModulePublishInfo> modulePublishInfo;
 
 	/**
 	 * ServerPublishInfo constructor comment.
@@ -52,7 +52,7 @@
 		super();
 		
 		this.path = path;
-		modulePublishInfo = new HashMap();
+		modulePublishInfo = new HashMap<String, ModulePublishInfo>();
 		load();
 	}
 
@@ -82,7 +82,7 @@
 		if (moduleId == null || moduleId.length() == 0)
 			return new IModule[0];
 		
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		StringTokenizer st = new StringTokenizer(moduleId, "#");
 		while (st.hasMoreTokens()) {
 			String mid = st.nextToken();
@@ -131,7 +131,7 @@
 	 */
 	public void removeDeletedModulePublishInfo(Server server, List moduleList) {
 		int size = moduleList.size();
-		List removed = new ArrayList();
+		List<String> removed = new ArrayList<String>();
 		
 		Iterator iterator = modulePublishInfo.keySet().iterator();
 		while (iterator.hasNext()) {
@@ -147,7 +147,7 @@
 			
 			if (server != null) {
 				try {
-					Integer in = (Integer) server.modulePublishState.get(key);
+					Integer in = server.modulePublishState.get(key);
 					if (in != null && in.intValue() != IServer.PUBLISH_STATE_NONE)
 						found = true;
 				} catch (Exception e) {
@@ -174,7 +174,7 @@
 		
 		// check if it now exists
 		if (modulePublishInfo.containsKey(key))
-			return (ModulePublishInfo) modulePublishInfo.get(key);
+			return modulePublishInfo.get(key);
 		
 		// have to create a new one
 		IModule mod = module[module.length - 1];
@@ -183,22 +183,22 @@
 		return mpi;
 	}
 
-	public void addRemovedModules(List moduleList, List kindList) {
+	public void addRemovedModules(List<IModule[]> moduleList, List<Integer> kindList) {
 		int size = moduleList.size();
-		List removed = new ArrayList();
+		List<ModulePublishInfo> removed = new ArrayList<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);
+				IModule[] module = moduleList.get(i);
 				String key2 = getKey(module);
 				if (key != null && key.equals(key2))
 					found = true;
 			}
 			if (!found) {
-				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(key);
+				ModulePublishInfo mpi = modulePublishInfo.get(key);
 				removed.add(mpi);
 			}
 		}
@@ -220,7 +220,7 @@
 						if (i == depth - 1)
 							module2[i] = mpi.getDeletedModule();
 						else {
-							ModulePublishInfo mpi2 = (ModulePublishInfo) modulePublishInfo.get(s);
+							ModulePublishInfo mpi2 = modulePublishInfo.get(s);
 							if (mpi2 != null)
 								module2[i] = mpi2.getDeletedModule();
 						}
@@ -242,7 +242,7 @@
 	 */
 	private String[] getModuleIds(String moduleId) {
 		StringTokenizer st = new StringTokenizer(moduleId, "#");
-		List list = new ArrayList(2);
+		List<String> list = new ArrayList<String>(2);
 		while (st.hasMoreTokens()) {
 			list.add(st.nextToken());
 		}
@@ -277,7 +277,7 @@
 					return;
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load publish information: " + e.getMessage());
+				Trace.trace(Trace.WARNING, "Could not load publish information", e);
 			}
 		}
 		
@@ -299,7 +299,7 @@
 					modulePublishInfo.put(getKey(mpi.getModuleId()), mpi);
 				}
 			} catch (Exception e) {
-				Trace.trace(Trace.WARNING, "Could not load publish information: " + e.getMessage());
+				Trace.trace(Trace.WARNING, "Could not load publish information", e);
 			}
 		}
 	}
@@ -323,14 +323,15 @@
 			Iterator iterator = modulePublishInfo.keySet().iterator();
 			while (iterator.hasNext()) {
 				String controlRef = (String) iterator.next();
-				ModulePublishInfo mpi = (ModulePublishInfo) modulePublishInfo.get(controlRef);
+				ModulePublishInfo mpi = modulePublishInfo.get(controlRef);
 				mpi.save(out);
 			}
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Could not save publish information", e);
 		} finally {
 			try {
-				out.close();
+				if (out != null)
+					out.close();
 			} catch (Exception e) {
 				// ignore
 			}
@@ -371,17 +372,17 @@
 		if (original == null || current == null)
 			return new IModuleResourceDelta[0];
 		
-		List list = new ArrayList();
+		List<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
 		int size = original.length;
 		int size2 = current.length;
 		
-		Map originalMap = new HashMap(size);
+		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 = (IModuleResource) originalMap.remove(current[i]);
+			IModuleResource old = originalMap.remove(current[i]);
 			if (old == null) {
 				ModuleResourceDelta delta = new ModuleResourceDelta(current[i], IModuleResourceDelta.ADDED);
 				if (current[i] instanceof IModuleFolder) {
@@ -423,7 +424,7 @@
 			}
 		}
 		
-		return (IModuleResourceDelta[]) list.toArray(new IModuleResourceDelta[list.size()]);
+		return list.toArray(new IModuleResourceDelta[list.size()]);
 	}
 
 	protected boolean hasDelta(IModule[] module) {
@@ -441,13 +442,13 @@
 		int size = original.length;
 		int size2 = current.length;
 		
-		Map originalMap = new HashMap(size);
+		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 = (IModuleResource) originalMap.remove(current[i]);
+			IModuleResource old = originalMap.remove(current[i]);
 			if (old == null)
 				return true;
 			
@@ -477,7 +478,7 @@
 		if (resources == null)
 			return new IModuleResourceDelta[0];
 		
-		List list = new ArrayList();
+		List<ModuleResourceDelta> list = new ArrayList<ModuleResourceDelta>();
 		
 		// look for duplicates
 		int size = resources.length;
@@ -490,9 +491,7 @@
 			list.add(mrd);
 		}
 		
-		IModuleResourceDelta[] delta = new IModuleResourceDelta[list.size()];
-		list.toArray(delta);
-		return delta;
+		return list.toArray(new IModuleResourceDelta[list.size()]);
 	}
 
 	/**
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
index 9273cae..b1ca86e 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerType.java
@@ -29,8 +29,6 @@
  */
 public class ServerType implements IServerType {
 	private static final int DEFAULT_TIMEOUT = 1000 * 60 * 4; // 4 minutes
-	private static final float[] SERVER_TIMEOUTS =
-		new float[] { 4f, 3f, 2f, 1.5f, 1f, 0.75f, 0.5f, 0.35f, 0.25f };
 	private IConfigurationElement element;
 
 	/**
@@ -187,11 +185,10 @@
 		if (element == null)
 			return null;
 		
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
 		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
 		if (hasRuntime())
 			swc.setRuntime(runtime);
+		ServerUtil.setServerDefaultName(swc);
 		swc.setDefaults(monitor);
 		
 		if (hasServerConfiguration() && runtime != null && runtime.getLocation() != null && !runtime.getLocation().isEmpty())
@@ -215,7 +212,7 @@
 	 * of the given runtime type
 	 */
 	protected static IRuntime[] getRuntimes(IRuntimeType runtimeType) {
-		List list = new ArrayList();
+		List<IRuntime> list = new ArrayList<IRuntime>();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -234,9 +231,6 @@
 		if (element == null)
 			return null;
 		
-		if (id == null || id.length() == 0)
-			id = ServerPlugin.generateId();
-		
 		IRuntime runtime = null;
 		if (hasRuntime()) {
 			// look for existing runtime
@@ -247,7 +241,7 @@
 			else {
 				// create runtime
 				try {
-					IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(id + "-runtime", monitor);
+					IRuntimeWorkingCopy runtimeWC = runtimeType.createRuntime(id, monitor);
 					ServerUtil.setRuntimeDefaultName(runtimeWC);
 					runtime = runtimeWC;
 				} catch (Exception e) {
@@ -255,11 +249,11 @@
 				}
 			}
 		}
-
+		
 		ServerWorkingCopy swc = new ServerWorkingCopy(id, file, runtime, this);
-		ServerUtil.setServerDefaultName(swc);
 		if (runtime != null)
 			swc.setRuntime(runtime);
+		ServerUtil.setServerDefaultName(swc);
 		
 		swc.setDefaults(monitor);
 		if (swc.getServerType().hasServerConfiguration())
@@ -305,15 +299,11 @@
 	 * Return the timeout (in ms) that should be used to wait for the server to start.
 	 * The default is 2 minutes.
 	 * 
-	 * @return the server startup timeout, or -1 if there is no timeout
+	 * @return the server startup timeout
 	 */
 	public int getStartTimeout() {
 		try {
-			int i = Integer.parseInt(element.getAttribute("startTimeout"));
-			int s = ServerPreferences.getInstance().getMachineSpeed();
-			if (s < 0)
-				return -1;
-			return (int) (i * SERVER_TIMEOUTS[s-1]);
+			return Integer.parseInt(element.getAttribute("startTimeout"));
 		} catch (NumberFormatException e) {
 			// ignore
 		}
@@ -324,15 +314,11 @@
 	 * Return the timeout (in ms) to wait before assuming that the server
 	 * has failed to stop. The default is 2 minutes.
 	 * 
-	 * @return the server shutdown timeout, or -1 if there is no timeout
+	 * @return the server shutdown timeout
 	 */
 	public int getStopTimeout() {
 		try {
-			int i = Integer.parseInt(element.getAttribute("stopTimeout"));
-			int s = ServerPreferences.getInstance().getMachineSpeed();
-			if (s < 0)
-				return -1;
-			return (int) (i * SERVER_TIMEOUTS[s-1]);
+			return Integer.parseInt(element.getAttribute("stopTimeout"));
 		} catch (NumberFormatException e) {
 			// ignore
 		}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
index ddd906e..4831250 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
@@ -34,24 +34,23 @@
 public class ServerWorkingCopy extends Server implements IServerWorkingCopy {
 	protected Server server;
 	protected WorkingCopyHelper wch;
-	
+
 	protected ServerDelegate workingCopyDelegate;
-	
+
 	// working copy
 	public ServerWorkingCopy(Server server) {
 		super(server.getFile());
 		this.server = server;
 		
-		map = new HashMap(server.map);
+		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);
-		//server = this;
 		wch = new WorkingCopyHelper(this);
 		wch.setDirty(true);
 		serverState = ((ServerType)serverType).getInitialState();
@@ -185,7 +184,7 @@
 		wch.setAttribute(attributeName, value);
 	}
 
-	public void setAttribute(String attributeName, List value) {
+	public void setAttribute(String attributeName, List<String> value) {
 		wch.setAttribute(attributeName, value);
 	}
 
@@ -198,6 +197,9 @@
 	 */
 	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) {
@@ -226,6 +228,14 @@
 		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);
 	}
@@ -245,9 +255,9 @@
 	 * @return true if change is made. 
 	 */
 	public boolean disablePreferredPublishOperations(PublishOperation op) {
-		List list = getAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null);
+		List<String> list = getAttribute(PROP_DISABLED_PERFERRED_TASKS, (List<String>)null);
 		if (list == null)
-			list = new ArrayList();
+			list = new ArrayList<String>();
 		
 		String opId = getPublishOperationId(op);
 		if (list.contains(opId))
@@ -264,9 +274,9 @@
 	 * @return true if change is made. 
 	 */
 	public boolean enableOptionalPublishOperations(PublishOperation op) {
-		List list = getAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null);
+		List<String> list = getAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List<String>)null);
 		if (list == null)
-			list = new ArrayList();
+			list = new ArrayList<String>();
 		
 		String opId = getPublishOperationId(op);
 		if (list.contains(opId))
@@ -280,14 +290,14 @@
 	 * Reset all preferred operations to default
 	 */
 	public void resetPreferredPublishOperations() {
-		setAttribute(PROP_DISABLED_PERFERRED_TASKS, (List)null);
+		setAttribute(PROP_DISABLED_PERFERRED_TASKS, (List<String>)null);
 	}
 
 	/**
 	 * Reset all optional operations to default
 	 */
 	public void resetOptionalPublishOperations() {
-		setAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List)null);
+		setAttribute(PROP_ENABLED_OPTIONAL_TASKS, (List<String>)null);
 	}
 
 	/**
@@ -530,7 +540,7 @@
 			}
 			
 			// convert to attribute
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			Iterator iterator = modules.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
@@ -727,12 +737,24 @@
 		super.setExternalModules(modules);
 	}
 
-	public List getExternalModules() {
+	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);
+	}
+
 	public String toString() {
 		return "ServerWorkingCopy " + getId();
 	}
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
index ee7cfeb..022ee27 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * 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
@@ -30,11 +30,20 @@
 	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	protected IStatus run(IProgressMonitor monitor) {
-		try {
-			getServer().synchronousStart(launchMode, monitor);
-		} catch (CoreException ce) {
-			return ce.getStatus();
+		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
+			}
 		}
-		return Status.OK_STATUS;
+		return status[0];
 	}
 }
\ 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
index e6653f6..1493518 100644
--- 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
@@ -11,17 +11,15 @@
 package org.eclipse.wst.server.core.internal;
 
 import org.eclipse.core.runtime.*;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.internal.ServerSchedulingRule;
 /**
  * A job for stopping the server.
- * 
- * Note: This is a backport for bug 200715. It is not API compatible with the
- * WTP 3.0 version due to missing translated strings.
  */
 public class StopServerJob extends ChainedJob {
-	public StopServerJob(IServer server, String name) {
-		super(name, server);
+	public StopServerJob(IServer server) {
+		super(NLS.bind(Messages.jobStoppingServer, server.getName()), server);
 		setRule(new ServerSchedulingRule(server));
 	}
 
@@ -45,4 +43,4 @@
 		}
 		return status[0];
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Trace.java
index 2498ccd..63a3887 100644
--- 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
@@ -36,12 +36,9 @@
 	private static final String[] levelNames = new String[] {
 		"CONFIG   ", "INFO     ", "WARNING  ", "SEVERE   ", "FINER    ", "FINEST   ",
 		"RESOURCES", "EXTENSION", "LISTENERS", "TARGET   ", "PERF     ", "PUBLISH  "};
-	private static final String spacer = "                                   ";
 
 	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
 
-	protected static int pluginLength = -1;
-
 	/**
 	 * Trace constructor comment.
 	 */
@@ -67,31 +64,16 @@
 	 * @param t a throwable
 	 */
 	public static void trace(int level, String s, Throwable t) {
-		trace(ServerPlugin.PLUGIN_ID, level, s, t);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	private static void trace(String pluginId, int level, String s, Throwable t) {
-		if (pluginId == null || s == null)
+		if (s == null)
 			return;
 		
 		if (level == SEVERE)
-			ServerPlugin.log(new Status(IStatus.ERROR, pluginId, s, t));
+			ServerPlugin.log(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, s, t));
 		
 		if (!ServerPlugin.getInstance().isDebugging())
 			return;
 		
-		StringBuffer sb = new StringBuffer(pluginId);
-		if (pluginId.length() > pluginLength)
-			pluginLength = pluginId.length();
-		else if (pluginId.length() < pluginLength)
-			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
+		StringBuffer sb = new StringBuffer(ServerPlugin.PLUGIN_ID);
 		sb.append(" ");
 		sb.append(levelNames[level]);
 		sb.append(" ");
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
index e165a4f..d5de0ca 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/WorkingCopyHelper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -29,7 +29,7 @@
 	protected boolean isDirty;
 
 	// property change listeners
-	private transient List propertyListeners;
+	private transient List<PropertyChangeListener> propertyListeners;
 
 	public WorkingCopyHelper(Base base) {
 		this.base = base;
@@ -68,8 +68,8 @@
 		firePropertyChangeEvent(attributeName, current, value);
 	}
 
-	public void setAttribute(String attributeName, List value) {
-		List current = base.getAttribute(attributeName, (List)null);
+	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;
 		
@@ -125,7 +125,7 @@
 	 */
 	public void addPropertyChangeListener(PropertyChangeListener listener) {
 		if (propertyListeners == null)
-			propertyListeners = new ArrayList(2);
+			propertyListeners = new ArrayList<PropertyChangeListener>(2);
 		propertyListeners.add(listener);
 	}
 
@@ -169,4 +169,4 @@
 	protected void setDirty(boolean dirty) {
 		isDirty = dirty;
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
index 102922c..ca1aede 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/XMLMemento.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -58,16 +58,6 @@
 		return new XMLMemento(factory, child);
 	}
 
-	/*
-	 * @see IMemento
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
 	/**
 	 * Create a Document from a Reader and answer a root memento for reading 
 	 * a document.
@@ -146,7 +136,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
+		List<Element> list = new ArrayList<Element>(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -160,7 +150,7 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
+			results[x] = new XMLMemento(factory, list.get(x));
 		}
 		return results;
 	}
@@ -207,20 +197,6 @@
 	/*
 	 * @see IMemento
 	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/*
-	 * @see IMemento
-	 */
 	public Integer getInteger(String key) {
 		Attr attr = element.getAttributeNode(key);
 		if (attr == null)
@@ -242,11 +218,11 @@
 			return null; 
 		return attr.getValue();
 	}
-	
-	public List getNames() {
+
+	public List<String> getNames() {
 		NamedNodeMap map = element.getAttributes();
 		int size = map.getLength();
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		for (int i = 0; i < size; i++) {
 			Node node = map.item(i);
 			String name = node.getNodeName();
@@ -290,35 +266,6 @@
 	/*
 	 * @see IMemento
 	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/*
-	 * @see IMemento
-	 */
 	public void putInteger(String key, int n) {
 		element.setAttribute(key, String.valueOf(n));
 	}
@@ -326,14 +273,6 @@
 	/*
 	 * @see IMemento
 	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/*
-	 * @see IMemento
-	 */
 	public void putString(String key, String value) {
 		if (value == null)
 			return;
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
index 04efa42..ef408c7 100644
--- 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
@@ -15,6 +15,7 @@
 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;
@@ -23,10 +24,10 @@
  */
 public class FacetMappingUtil extends Plugin {
 	//	cached copy of all runtime component providers
-	private static List runtimeComponentProviders;
+	private static List<RuntimeComponentProviderWrapper> runtimeComponentProviders;
 
 	//	cached copy of all runtime facet mappings
-	private static List runtimeFacetMappings;
+	private static List<RuntimeFacetMapping> runtimeFacetMappings;
 
 	/**
 	 * Returns an array of all known runtime facet mapping instances.
@@ -54,18 +55,18 @@
 	 * @param runtime a runtime
 	 * @param components the existing list of components
 	 */
-	public static void addFacetRuntimeComponents(IRuntime runtime, List components) {
+	public static void addFacetRuntimeComponents(IRuntime runtime, List<IRuntimeComponent> components) {
 		if (runtime == null || runtime.getRuntimeType() == null)
 			throw new IllegalArgumentException();
 		
 		if (runtimeComponentProviders == null)
 			loadRuntimeComponentProviders();
 		
-		Iterator iterator = runtimeComponentProviders.iterator();
+		Iterator<RuntimeComponentProviderWrapper> iterator = runtimeComponentProviders.iterator();
 		while (iterator.hasNext()) {
-			RuntimeComponentProviderWrapper runtimeComponentProvider = (RuntimeComponentProviderWrapper) iterator.next();
+			RuntimeComponentProviderWrapper runtimeComponentProvider = iterator.next();
 			if (runtimeComponentProvider.supportsRuntimeType(runtime.getRuntimeType())) {
-				List list = runtimeComponentProvider.getComponents(runtime);
+				List<IRuntimeComponent> list = runtimeComponentProvider.getComponents(runtime);
 				if (list != null)
 					components.addAll(list);
 			}
@@ -84,7 +85,7 @@
 		
 		// load new wst extension point
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<RuntimeComponentProviderWrapper> list = new ArrayList<RuntimeComponentProviderWrapper>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeComponentProviderWrapper(cf[i]));
@@ -122,7 +123,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor("org.eclipse.jst.server.core.runtimeFacetMappings");
 		
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<RuntimeFacetMapping> list = new ArrayList<RuntimeFacetMapping>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeFacetMapping(cf[i]));
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
index 3fcc01c..36e290c 100644
--- 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
@@ -20,6 +20,7 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeBridge;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
 import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
 import org.eclipse.wst.server.core.IRuntime;
@@ -30,22 +31,22 @@
  * 
  */
 public class RuntimeBridge implements IRuntimeBridge {
-	protected static Map mappings = new HashMap();
+	protected static Map<String, List<IRuntimeComponentVersion>> mappings = new HashMap<String, List<IRuntimeComponentVersion>>();
 
 	static {
 		initialize();
 	}
 
 	private static void addMapping(String id, String id2, String version) {
-		ArrayList list = null;
+		List<IRuntimeComponentVersion> list = null;
 		try {
-			list = (ArrayList) mappings.get(id);
+			list = mappings.get(id);
 		} catch (Exception e) {
 			// ignore
 		}
 		
 		if (list == null)
-			list = new ArrayList(2);
+			list = new ArrayList<IRuntimeComponentVersion>(2);
 		
 		try {
 			list.add(RuntimeManager.getRuntimeComponentType(id2).getVersion(version));
@@ -83,9 +84,9 @@
 		addMapping("org.eclipse.jst.server.generic.runtime.websphere.6", "org.eclipse.jst.server.generic.runtime.websphere", "6.0");
 	}
 
-	public Set getExportedRuntimeNames() throws CoreException {
+	public Set<String> getExportedRuntimeNames() throws CoreException {
 		IRuntime[] runtimes = ServerCore.getRuntimes();
-		Set result = new HashSet(runtimes.length);
+		Set<String> result = new HashSet<String>(runtimes.length);
 		
 		for (int i = 0; i < runtimes.length; i++) {
 			IRuntime runtime = runtimes[i];
@@ -107,6 +108,8 @@
 		for (int i = 0; i < size; i++) {
 			if (runtimes[i].getId().equals(name))
 				return new Stub(runtimes[i]);
+			if (runtimes[i].getName().equals(name))
+				return new Stub(runtimes[i]);
 		}
 		return null;
 	}
@@ -118,13 +121,13 @@
 			this.runtime = runtime;
 		}
 
-		public List getRuntimeComponents() {
-			List components = new ArrayList(2);
+		public List<IRuntimeComponent> getRuntimeComponents() {
+			List<IRuntimeComponent> components = new ArrayList<IRuntimeComponent>(2);
 			if (runtime == null)
 				return components;
 			
 			// define server runtime component
-			Map properties = new HashMap(5);
+			Map<String, String> properties = new HashMap<String, String>(5);
 			if (runtime.getLocation() != null)
 				properties.put("location", runtime.getLocation().toPortableString());
 			else
@@ -151,8 +154,8 @@
 			return components;
 		}
 
-		public Map getProperties() {
-		    final Map props = new HashMap();
+		public Map<String, String> getProperties() {
+			final Map<String, String> props = new HashMap<String, String>();
 			if (runtime != null) {
 				props.put("id", runtime.getId());
 				props.put("localized-name", runtime.getName());
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
index 4402270..556450d 100644
--- 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
@@ -15,6 +15,7 @@
 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.Trace;
@@ -49,7 +50,7 @@
 
 	public String[] getRuntimeTypeIds() {
 		try {
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("runtimeTypeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
@@ -103,7 +104,7 @@
 			try {
 				delegate = (RuntimeFacetComponentProviderDelegate) element.createExecutableExtension("class");
 			} catch (Throwable t) {
-				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString() + ": " + t.getMessage());
+				Trace.trace(Trace.SEVERE, "Could not create delegate " + toString(), t);
 			}
 		}
 		return delegate;
@@ -112,7 +113,7 @@
 	/*
 	 * @see RuntimeFacetComponentProviderDelegate#getRuntimeComponents(IRuntime)
 	 */
-	public List getComponents(IRuntime runtime) {
+	public List<IRuntimeComponent> getComponents(IRuntime runtime) {
 		if (runtime == null)
 			return null;
 		try {
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
index 3a969ec..f943c3f 100644
--- 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
@@ -12,6 +12,7 @@
 
 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.
@@ -42,5 +43,5 @@
 	 * @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 getRuntimeComponents(IRuntime runtime);
+	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/tar/TarEntry.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarEntry.java
new file mode 100644
index 0000000..4d97196
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarEntry.java
@@ -0,0 +1,142 @@
+/*******************************************************************************
+ * 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.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;
+	}
+}
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
new file mode 100644
index 0000000..1a3b1fd
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarException.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * 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
new file mode 100644
index 0000000..0d97478
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarFile.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * 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
new file mode 100644
index 0000000..1eb16f3
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/tar/TarInputStream.java
@@ -0,0 +1,343 @@
+/*******************************************************************************
+ * 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.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 - bytesread);
+				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/ModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
index f34e8d5..fc0ea8c 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ModuleFactoryDelegate.java
@@ -162,7 +162,7 @@
 	public IModule[] getModules(IProject project) {
 		IModule[] modules = getModules();
 		if (project != null && modules != null) {
-			List list = new ArrayList(modules.length);
+			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()))
@@ -200,7 +200,7 @@
 			return null;
 		
 		IModule[] modules = getModules();
-		if (id != null && modules != null) {
+		if (modules != null) {
 			int size = modules.length;
 			for (int i = 0; i < size; i++) {
 				String id2 = modules[i].getId();
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
index 3cac8f5..762be59 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/RuntimeDelegate.java
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -206,7 +206,7 @@
 	 * @return the attribute value
 	 * @see #setAttribute(String, List)
 	 */
-	protected final List getAttribute(String id, List defaultValue) {
+	protected final List getAttribute(String id, List<String> defaultValue) {
 		return runtime.getAttribute(id, defaultValue);
 	}
 
@@ -293,7 +293,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, List)
 	 */
-	protected final void setAttribute(String id, List value) {
+	protected final void setAttribute(String id, List<String> value) {
 		runtimeWC.setAttribute(id, value);
 	}
 
@@ -308,4 +308,4 @@
 	protected final void setAttribute(String id, Map value) {
 		runtimeWC.setAttribute(id, value);
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
index 5b54685..0df79ba 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerBehaviourDelegate.java
@@ -425,7 +425,7 @@
 	 * the server.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
+	 * [issue: Since this method is asynchronous, is there
 	 * any need for the progress monitor?]
 	 * </p>
 	 * 
@@ -451,7 +451,7 @@
 	 * the server.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
+	 * [issue: Since this method is asynchronous, is there
 	 * any need for the progress monitor?]
 	 * </p>
 	 * 
@@ -477,7 +477,7 @@
 	 * the server.
 	 * </p>
 	 * <p>
-	 * [issue: Since this method is ascynchronous, is there
+	 * [issue: Since this method is asynchronous, is there
 	 * any need for the progress monitor?]
 	 * </p>
 	 * 
@@ -601,8 +601,8 @@
 		if (getServer().getServerType().hasRuntime() && getServer().getRuntime() == null)
 			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorPublishNoRuntime, null);
 		
-		final List moduleList = getAllModules();
-		final List deltaKindList = new ArrayList();
+		final List<IModule[]> moduleList = getAllModules();
+		final List<Integer> deltaKindList = new ArrayList<Integer>();
 		
 		Iterator iterator = moduleList.iterator();
 		while (iterator.hasNext()) {
@@ -704,7 +704,9 @@
 			multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusWarning, null);
 		else if (tempMulti.getSeverity() == IStatus.ERROR)
 			multi = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, Messages.publishingStatusError, null);
-		multi.addAll(tempMulti);
+		
+		if (multi != null)
+			multi.addAll(tempMulti);
 		
 		return multi;
 	}
@@ -784,7 +786,7 @@
 	 * @param moduleList a list of modules
 	 * @param kindList a list of publish kinds
 	 */
-	protected void addRemovedModules(List moduleList, List kindList) {
+	protected void addRemovedModules(List<IModule[]> moduleList, List<Integer> kindList) {
 		server.getServerPublishInfo().addRemovedModules(moduleList, kindList);
 	}
 
@@ -857,7 +859,7 @@
 	 * 
 	 * @return a list of IModule[]s
 	 */
-	protected final List getAllModules() {
+	protected final List<IModule[]> getAllModules() {
 		return server.getAllModules();
 	}
 
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
index 47141cb..c011f21 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
@@ -153,7 +153,7 @@
 	 * @return the attribute value
 	 * @see #setAttribute(String, List)
 	 */
-	protected final List getAttribute(String id, List defaultValue) {
+	protected final List getAttribute(String id, List<String> defaultValue) {
 		return server.getAttribute(id, defaultValue);
 	}
 
@@ -309,7 +309,7 @@
 	 * @param value the value of the specified attribute
 	 * @see #getAttribute(String, List)
 	 */
-	protected final void setAttribute(String id, List value) {
+	protected final void setAttribute(String id, List<String> value) {
 		serverWC.setAttribute(id, value);
 	}
 
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
new file mode 100644
index 0000000..8d6c816
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFile.java
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * 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.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.
+ */
+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
new file mode 100644
index 0000000..277dcee
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ModuleFolder.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * 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.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.
+ */
+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/ProjectModule.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
index 2739275..306764b 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModule.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -14,12 +14,14 @@
 import java.util.List;
 
 import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
 
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.internal.ModuleFile;
-import org.eclipse.wst.server.core.internal.ModuleFolder;
-import org.eclipse.wst.server.core.model.*;
+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.
@@ -158,14 +160,14 @@
 		IResource[] resources = container.members();
 		if (resources != null) {
 			int size = resources.length;
-			List list = new ArrayList(size);
+			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 ModuleFolder(container2, name, path);
+						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) {
@@ -179,4 +181,4 @@
 		}
 		return new IModuleResource[0];
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
index 7295a89..f1e1ba6 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
@@ -27,8 +27,7 @@
  * @since 1.0
  */
 public abstract class ProjectModuleFactoryDelegate extends ModuleFactoryDelegate {
-	// map of IProject to IModule[]
-	private Map modules = new HashMap();
+	private Map<IProject, IModule[]> modules = new HashMap<IProject, IModule[]>();
 
 	/**
 	 * Construct a new ProjectModuleFactoryDelegate.
@@ -49,7 +48,7 @@
 		
 		IModule[] m = null;
 		try {
-			m = (IModule[]) modules.get(project);
+			m = modules.get(project);
 			if (m != null)
 				return m;
 		} catch (Exception e) {
@@ -117,7 +116,7 @@
 	public final IModule[] getModules() {
 		cacheModules();
 		
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		Iterator iter = modules.values().iterator();
 		while (iter.hasNext()) {
 			IModule[] m = (IModule[]) iter.next();
@@ -207,8 +206,7 @@
 	 * @since 2.0
 	 */
 	protected void clearCache(IProject project) {
-		//modules.put(project, null);
-		modules = new HashMap();
+		modules = new HashMap<IProject, IModule[]>();
 	}
 
 	/**
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
new file mode 100644
index 0000000..da7f944
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/PublishHelper.java
@@ -0,0 +1,752 @@
+/*******************************************************************************
+ * 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.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 3.0
+ */
+public final 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 tempDir a temporary directory to use during publishing
+	 */
+	public PublishHelper(File tempDir) {
+		this.tempDir = tempDir;
+		if (tempDir == null)
+			tempDir = defaultTempDir;
+	}
+
+	/**
+	 * 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());
+			Trace.trace(Trace.SEVERE, "Error copying file: " + to.toOSString() + " to " + path.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) {
+			Trace.trace(Trace.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) {
+		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();
+		
+		//	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;
+					}
+					
+					// delete file if it can't be found or isn't the correct type
+					if (!found) {
+						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;
+				}
+				
+				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();
+				monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {name, name}));
+				IStatus[] stat = publishSmart(children, path.append(name), 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 {
+		Trace.trace(Trace.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 {
+		Trace.trace(Trace.PUBLISHING, "Copying: " + mf.getName() + " to " + path.toString());
+		
+		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);
+		}
+	}
+
+	/**
+	 * 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();
+		Trace.trace(Trace.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) {
+			Trace.trace(Trace.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();
+		}
+	}
+
+	/**
+	 * 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) {
+			Trace.trace(Trace.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
index df3da3b..c9f44c3 100644
--- 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
@@ -11,22 +11,8 @@
 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;
 /**
@@ -35,26 +21,10 @@
  * This class provides all its functionality through static members.
  * It is not intended to be subclassed or instantiated.
  * </p>
- * <p>
- * <b>Note:</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 2.0
  */
 public final class PublishUtil {
-	// 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 tempDir = ServerPlugin.getInstance().getStateLocation().toFile();
-	
-	private static final String TEMPFILE_PREFIX = "tmp";
+	private static PublishHelper publishHelper = new PublishHelper(null);
 
 	/**
 	 * PublishUtil cannot be created. Use static methods.
@@ -64,61 +34,6 @@
 	}
 
 	/**
-	 * 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 static 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());
-			Trace.trace(Trace.SEVERE, "Error copying file: " + to.toOSString() + " to " + path.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
@@ -127,47 +42,7 @@
 	 * @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 status = new ArrayList(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) {
-			Trace.trace(Trace.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;
+		return PublishHelper.deleteDirectory(dir, monitor);
 	}
 
 	/**
@@ -180,147 +55,7 @@
 	 * @return a possibly-empty array of error and warning status 
 	 */
 	public static IStatus[] publishSmart(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		if (resources == null)
-			return EMPTY_STATUS;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		List status = new ArrayList(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();
-		
-		//	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;
-					}
-					
-					// delete file if it can't be found or isn't the correct type
-					if (!found) {
-						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();
-		int toSize = 0;
-		if (toFiles != null)
-			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;
-				}
-				
-				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();
-				monitor.subTask(NLS.bind(Messages.copyingTask, new String[] {name, name}));
-				IStatus[] stat = publishSmart(children, path.append(name), 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;
+		return publishHelper.publishSmart(resources, path, monitor);
 	}
 
 	/**
@@ -333,21 +68,7 @@
 	 * @return a possibly-empty array of error and warning status
 	 */
 	public static IStatus[] publishDelta(IModuleResourceDelta[] delta, IPath path, IProgressMonitor monitor) {
-		if (delta == null)
-			return EMPTY_STATUS;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		List status = new ArrayList(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;
+		return publishHelper.publishDelta(delta, path, monitor);
 	}
 
 	/**
@@ -360,86 +81,7 @@
 	 * @return a possibly-empty array of error and warning status
 	 */
 	public static IStatus[] publishDelta(IModuleResourceDelta delta, IPath path, IProgressMonitor monitor) {
-		List status = new ArrayList(2);
-		
-		IModuleResource resource = delta.getModuleResource();
-		int kind2 = delta.getKind();
-		
-		if (resource instanceof IModuleFile) {
-			IModuleFile file = (IModuleFile) resource;
-			try {
-				if (kind2 == IModuleResourceDelta.REMOVED)
-					deleteFile2(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 deleteFile2(IPath path, IModuleFile file) throws CoreException {
-		Trace.trace(Trace.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 static void copyFile(IModuleFile mf, IPath path) throws CoreException {
-		Trace.trace(Trace.PUBLISHING, "Copying: " + mf.getName() + " to " + path.toString());
-		
-		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);
-		}
+		return publishHelper.publishDelta(delta, path, monitor);
 	}
 
 	/**
@@ -452,46 +94,7 @@
 	 * @return a possibly-empty array of error and warning status
 	 */
 	public static IStatus[] publishFull(IModuleResource[] resources, IPath path, IProgressMonitor monitor) {
-		if (resources == null)
-			return EMPTY_STATUS;
-		
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		
-		List status = new ArrayList(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 static IStatus[] copy(IModuleResource resource, IPath path, IProgressMonitor monitor) {
-		String name = resource.getName();
-		Trace.trace(Trace.PUBLISHING, "Copying: " + name + " to " + path.toString());
-		List status = new ArrayList(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;
+		return publishHelper.publishFull(resources, path, monitor);
 	}
 
 	/**
@@ -505,251 +108,6 @@
 	 * @return a possibly-empty array of error and warning status
 	 */
 	public static 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) {
-			Trace.trace(Trace.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();
-		}
-	}
-
-	/**
-	 * 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 static 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 java.io.InputStream
-	 * @param to java.lang.String
-	 * @return a status
-	 */
-	private static IStatus copyFile(InputStream in, String to) {
-		OutputStream out = null;
-		
-		try {
-			out = new FileOutputStream(to);
-			
-			int avail = in.read(buf);
-			while (avail > 0) {
-				out.write(buf, 0, avail);
-				avail = in.read(buf);
-			}
-			return Status.OK_STATUS;
-		} catch (Exception e) {
-			Trace.trace(Trace.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 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]);
+		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/SocketUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
index 631a041..e63f21e 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/SocketUtil.java
@@ -15,11 +15,14 @@
 import java.net.NetworkInterface;
 import java.net.ServerSocket;
 import java.net.SocketException;
-import java.util.ArrayList;
+import java.net.UnknownHostException;
 import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
-import java.util.List;
+import java.util.Map;
 import java.util.Random;
+import java.util.Set;
 
 import org.eclipse.wst.server.core.internal.Trace;
 /**
@@ -34,9 +37,78 @@
 
 	protected static final Object lock = new Object();
 
-	private static List localHostCache;
+	private static Set<String> localHostCache;
+	private static Set<String> notLocalHostCache = new HashSet<String>();
+	private static Map<String, CacheThread> threadMap = new HashMap<String, CacheThread>();
 
-	private static List addressCache;
+	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();
+					String hostname2 = addr.getCanonicalHostName();
+					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;
+				synchronized (lock) {
+					for (int j = 0; j < length; j++) {
+						InetAddress addr = addrs[0];
+						String hostname = addr.getHostName();
+						String hostname2 = addr.getCanonicalHostName();
+						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.
@@ -50,7 +122,7 @@
 	 * 
 	 * @param low lowest possible port number
 	 * @param high highest possible port number
-	 * @return an usused port number, or <code>-1</code> if no used ports could be found
+	 * @return an unused port number, or <code>-1</code> if no used ports could be found
 	 */
 	public static int findUnusedPort(int low, int high) {
 		if (high < low)
@@ -156,75 +228,109 @@
 	 * @return <code>true</code> if the given host is localhost, and
 	 *    <code>false</code> otherwise
 	 */
-	public static boolean isLocalhost(String host) {
-		if (host == null)
+	public static boolean isLocalhost(final String host) {
+		if (host == null || host.equals(""))
 			return false;
 		
 		if ("localhost".equals(host) || "127.0.0.1".equals(host))
 			return true;
 		
-		// check if cache is ok
+		// check simple cases
+		try {
+			InetAddress localHostaddr = InetAddress.getLocalHost();
+			if (localHostaddr.getHostName().equals(host)
+					|| host.equals(localHostaddr.getCanonicalHostName())
+					|| localHostaddr.getHostAddress().equals(host))
+				return true;
+		} catch (Exception e) {
+			Trace.trace(Trace.WARNING, "Localhost caching failure", 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) {
+			Trace.trace(Trace.WARNING, "Localhost caching failure", e);
+		}
+		
+		// check if cache is still ok
+		boolean refreshedCache = false;
 		try {
 			// get network interfaces
-			final List currentAddresses = new ArrayList();
+			final Set<InetAddress> currentAddresses = new HashSet<InetAddress>();
 			currentAddresses.add(InetAddress.getLocalHost());
 			Enumeration nis = NetworkInterface.getNetworkInterfaces();
 			while (nis.hasMoreElements()) {
 				NetworkInterface inter = (NetworkInterface) nis.nextElement();
-				Enumeration ias = inter.getInetAddresses();
+				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)) {
-				addressCache = currentAddresses;
-				final List addressList = new ArrayList(currentAddresses.size() * 3);
-				Iterator iter = currentAddresses.iterator();
-				while (iter.hasNext()) {
-					InetAddress addr = (InetAddress) iter.next();
-					String a = addr.getHostAddress();
-					if (a != null && !addressList.contains(a))
-						addressList.add(a);
-				}
-				synchronized (lock) {
-					localHostCache = addressList;
-				}
+				CacheThread cacheThread = null;
+				refreshedCache = true;
 				
-				Thread cacheThread = new Thread("Caching localhost information") {
-					public void run() {
-						Iterator iter2 = currentAddresses.iterator();
-						while (iter2.hasNext()) {
-							InetAddress addr = (InetAddress) iter2.next();
-							String hostname = addr.getHostName();
-							String hostname2 = addr.getCanonicalHostName();
-							synchronized (lock) {
-								if (hostname != null && !addressList.contains(hostname))
-									addressList.add(hostname);
-								if (hostname2 != null && !addressList.contains(hostname2))
-									addressList.add(hostname2);
-							}
-						}
+				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();
+						if (a != null && !localHostCache.contains(a))
+							localHostCache.add(a);
 					}
-				};
-				cacheThread.setDaemon(true);
-				cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
-				cacheThread.start();
-				cacheThread.join(250);
+					
+					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) {
-			// ignore
 			Trace.trace(Trace.WARNING, "Localhost caching failure", e);
 		}
 		
-		if (localHostCache == null)
-			return false;
-		
 		synchronized (lock) {
-			Iterator iterator = localHostCache.iterator();
-			while (iterator.hasNext()) {
-				if (host.equals(iterator.next()))
-					return true;
+			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) {
+				Trace.trace(Trace.WARNING, "Could not find localhost", e);
 			}
 		}
 		
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
index 16b31d9..74a07f2 100644
--- 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
@@ -14,7 +14,6 @@
 import org.eclipse.core.runtime.Path;
 
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.internal.Messages;
 import org.eclipse.wst.server.core.model.ModuleArtifactDelegate;
 /**
  * A Web module resource.
@@ -53,7 +52,7 @@
 	 */
 	public String getName() {
 		if (path == null || path.toString().length() == 0)
-			return Messages.webResource;
+			return getModule().getName();
 		return path.toString();
 	}
 
diff --git a/plugins/org.eclipse.wst.server.http.core/.classpath b/plugins/org.eclipse.wst.server.http.core/.classpath
deleted file mode 100644
index 52165ec..0000000
--- a/plugins/org.eclipse.wst.server.http.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.server.http.core/.cvsignore b/plugins/org.eclipse.wst.server.http.core/.cvsignore
deleted file mode 100644
index 33dd7de..0000000
--- a/plugins/org.eclipse.wst.server.http.core/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-temp.folder
-build.xml
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.server.http.core/.project b/plugins/org.eclipse.wst.server.http.core/.project
deleted file mode 100644
index c94c165..0000000
--- a/plugins/org.eclipse.wst.server.http.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server.http.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.wst.server.http.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.http.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 403949d..0000000
--- a/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Wed Apr 04 18:12:13 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index a7cc1d0..0000000
--- a/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:11:52 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.server.http.core/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.server.http.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.server.http.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.http.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 7b8005a..0000000
--- a/plugins/org.eclipse.wst.server.http.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.server.http.core;singleton:=true
-Bundle-Version: 1.0.1.qualifier
-Bundle-Activator: org.eclipse.wst.server.http.core.internal.HttpCorePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.server.http.core.internal;x-friends:="org.eclipse.wst.server.http.ui",
- org.eclipse.wst.server.http.core.internal.command;x-friends:="org.eclipse.wst.server.http.ui"
-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.commands;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.204,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.http.core/about.html b/plugins/org.eclipse.wst.server.http.core/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.server.http.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 06, 2007</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.http.core/build.properties b/plugins/org.eclipse.wst.server.http.core/build.properties
deleted file mode 100644
index af949f3..0000000
--- a/plugins/org.eclipse.wst.server.http.core/build.properties
+++ /dev/null
@@ -1,19 +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
-###############################################################################
-bin.includes = META-INF/,\
-               plugin.properties,\
-               .,\
-               plugin.xml,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-source.. = src/
diff --git a/plugins/org.eclipse.wst.server.http.core/plugin.properties b/plugins/org.eclipse.wst.server.http.core/plugin.properties
deleted file mode 100644
index d3b0850..0000000
--- a/plugins/org.eclipse.wst.server.http.core/plugin.properties
+++ /dev/null
@@ -1,26 +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
-###############################################################################
-pluginName=HTTP Server Support
-providerName=Eclipse.org
-
-runtimeTypeHttpLabel=HTTP Server
-runtimeTypeHttpDescription=Publishes and runs projects on an HTTP server.
-
-httpServerType=HTTP Server
-httpServerDescription=Publishes and runs projects on an HTTP server.
-
-previewRuntimeTypeName=HTTP Preview
-previewRuntimeTypeDescription=A runtime to build static Web modules.
-
-previewServerTypeName=HTTP Preview
-previewServerTypeDescription=A server to preview static Web modules.
-
-previewLaunchConfigurationType=HTTP Preview
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/plugin.xml b/plugins/org.eclipse.wst.server.http.core/plugin.xml
deleted file mode 100644
index 0c6fc3d..0000000
--- a/plugins/org.eclipse.wst.server.http.core/plugin.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension point="org.eclipse.wst.server.core.runtimeTypes">
-	    <runtimeType
-	       id="org.eclipse.wst.server.http.runtime"
-	       name="%runtimeTypeHttpLabel"
-	       description="%runtimeTypeHttpDescription"
-	       facetRuntimeComponent="org.eclipse.wst.server.http.runtime"
-	       facetRuntimeVersion="1.0"
-	       class="org.eclipse.wst.server.http.core.internal.HttpRuntime">
-	       <moduleType
-	         types="PHP"
-	         versions="1.0"/>
-	       <moduleType
-	       	 types="wst.web"
-	       	 versions="1.0"/>
-	    </runtimeType>
-  	</extension>
-
- 	<extension point="org.eclipse.wst.server.core.serverTypes">
-     <serverType
-       id="org.eclipse.wst.server.http.server"
-       name="%httpServerType"
-       description="%httpServerDescription"
-       supportsRemoteHosts="true"
-       runtime="true"
-       initialState="started"
-       hasConfiguration="false"
-       runtimeTypeId="org.eclipse.wst.server.http.runtime"
-       class="org.eclipse.wst.server.http.core.internal.HttpServer"
-       behaviourClass="org.eclipse.wst.server.http.core.internal.HttpServerBehaviour"/>
-  	</extension>
-
-  <extension point="org.eclipse.wst.server.core.runtimeLocators">
-    <runtimeLocator
-       id="org.eclipse.wst.server.http.runtime.locator"
-       typeIds="org.eclipse.wst.server.http.runtime"
-       class="org.eclipse.wst.server.http.core.internal.HttpRuntimeLocator"/>
-  </extension>
-
-  	<extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-	    <runtime-component-type
-	       id="org.eclipse.wst.server.http.runtime"/>
-	    <runtime-component-version
-	       type="org.eclipse.wst.server.http.runtime"
-	       version="1.0"/>
-	    <supported>
-	      <runtime-component
-	         id="org.eclipse.wst.server.http.runtime"
-	         version="1.0"/>
-	      <facet
-	         id="wst.web"
-	         version="[1.0"/>
-	    </supported>
-  	</extension>
-
-   <extension point="org.eclipse.wst.server.core.launchableAdapters">
-      <launchableAdapter
-        id="org.eclipse.wst.server.http.web"
-        class="org.eclipse.wst.server.http.core.internal.HttpLaunchableAdapterDelegate"
-        typeIds="org.eclipse.wst.server.http.server"/>
-   </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpCorePlugin.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpCorePlugin.java
deleted file mode 100644
index 1277685..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpCorePlugin.java
+++ /dev/null
@@ -1,69 +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.http.core.internal;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-/**
- * The HTTP server core plugin.
- */
-public class HttpCorePlugin extends Plugin {
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.http.core";
-
-	private static HttpCorePlugin plugin;
-
-	/**
-	 * The constructor
-	 */
-	public HttpCorePlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * 
-	 * @return an instance
-	 */
-	public static HttpCorePlugin getInstance() {
-		return plugin;
-	}
-
-	/**
-	 * Return the install location preference.
-	 * 
-	 * @param id a runtime type id
-	 * @return the install location
-	 */
-	public static String getPreference(String id) {
-		return getInstance().getPluginPreferences().getString(id);
-	}
-
-	/**
-	 * Set the install location preference.
-	 * 
-	 * @param id the runtimt type id
-	 * @param value the location
-	 */
-	public static void setPreference(String id, String value) {
-		getInstance().getPluginPreferences().setValue(id, value);
-		getInstance().savePluginPreferences();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpLaunchableAdapterDelegate.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpLaunchableAdapterDelegate.java
deleted file mode 100644
index 6ab83f8..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,52 +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.http.core.internal;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-
-public class HttpLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	/*
-	 * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
-		if (server == null || moduleArtifact == null)
-			return null;
-		
-		HttpServer server2 = (HttpServer) server.loadAdapter(HttpServer.class, null);
-		if (server2 == null)
-			return null;
-		
-		try {
-			URL url = server2.getModuleRootURL(moduleArtifact.getModule());
-			
-			if (moduleArtifact instanceof WebResource) {
-				WebResource resource = (WebResource) moduleArtifact;
-				String path = resource.getPath().toString();
-				
-				if (path.startsWith("/"))
-					path = path.substring(1);
-				url = new URL(url.toExternalForm() + "/" + path);
-			}
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error in launchable adapter", e);
-		}
-		
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpRuntime.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpRuntime.java
deleted file mode 100644
index 542bb1f..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpRuntime.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.http.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * 
- */
-public class HttpRuntime extends RuntimeDelegate {
-	public static final String ID = "org.eclipse.wst.server.http.runtime";
-
-	public HttpRuntime() {
-		// do nothing
-	}
-
-	public IStatus validate() {
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		getRuntimeWorkingCopy().setLocation(new Path(""));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpRuntimeLocator.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpRuntimeLocator.java
deleted file mode 100644
index 4bad06a..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpRuntimeLocator.java
+++ /dev/null
@@ -1,116 +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.http.core.internal;
-
-import java.io.File;
-import java.io.FileFilter;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.model.RuntimeLocatorDelegate;
-/**
- * 
- */
-public class HttpRuntimeLocator extends RuntimeLocatorDelegate {
-	protected static final String[] runtimeTypes = new String[] { HttpRuntime.ID };
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IRuntimeFactoryDelegate#getKnownRuntimes()
-	 */
-	public void searchForRuntimes(IPath path, IRuntimeSearchListener listener,
-			IProgressMonitor monitor) {
-		searchForRuntimes2(path, listener, monitor);
-	}
-
-	protected static void searchForRuntimes2(IPath path, IRuntimeSearchListener listener,
-			IProgressMonitor monitor) {
-		File[] files = null;
-		if (path != null) {
-			File f = path.toFile();
-			if (f.exists())
-				files = f.listFiles();
-			else
-				return;
-		} else
-			files = File.listRoots();
-
-		if (files != null) {
-			int size = files.length;
-			int work = 100 / size;
-			int workLeft = 100 - (work * size);
-			for (int i = 0; i < size; i++) {
-				if (monitor.isCanceled())
-					return;
-				if (files[i] != null && files[i].isDirectory())
-					searchDir(listener, files[i], 4, monitor);
-				monitor.worked(work);
-			}
-			monitor.worked(workLeft);
-		} else
-			monitor.worked(100);
-	}
-
-	protected static void searchDir(IRuntimeSearchListener listener, File dir, int depth, IProgressMonitor monitor) {
-		if ("htdocs".equals(dir.getName())) {
-			IRuntimeWorkingCopy runtime = getRuntimeFromDir(dir.getParentFile(), monitor);
-			if (runtime != null) {
-				listener.runtimeFound(runtime);
-				return;
-			}
-		}
-
-		if (depth == 0)
-			return;
-
-		File[] files = dir.listFiles(new FileFilter() {
-			public boolean accept(File file) {
-				return file.isDirectory();
-			}
-		});
-		if (files != null) {
-			int size = files.length;
-			for (int i = 0; i < size; i++) {
-				if (monitor.isCanceled())
-					return;
-				searchDir(listener, files[i], depth - 1, monitor);
-			}
-		}
-	}
-
-	protected static IRuntimeWorkingCopy getRuntimeFromDir(File dir, IProgressMonitor monitor) {
-		for (int i = 0; i < runtimeTypes.length; i++) {
-			try {
-				IRuntimeType runtimeType = ServerCore.findRuntimeType(runtimeTypes[i]);
-				String absolutePath = dir.getAbsolutePath();
-				String id = absolutePath.replace(File.separatorChar, '_').replace(':', '-');
-				IRuntimeWorkingCopy runtime = runtimeType.createRuntime(id, monitor);
-				runtime.setName(dir.getName());
-				runtime.setLocation(new Path(absolutePath).append("htdocs"));
-				IStatus status = runtime.validate(monitor);
-				if (status == null || status.getSeverity() != IStatus.ERROR)
-					return runtime;
-
-				Trace.trace(Trace.FINER, "False runtime found at " + dir.getAbsolutePath()
-						+ ": " + status.getMessage());
-			} catch (Exception e) {
-				Trace.trace(Trace.SEVERE, "Could not find runtime", e);
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServer.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServer.java
deleted file mode 100644
index 373c98c..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServer.java
+++ /dev/null
@@ -1,273 +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.http.core.internal;
-
-import java.net.URL;
-
-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.IModule;
-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.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-/**
- * Generic HTTP server.
- */
-public class HttpServer extends ServerDelegate implements IURLProvider {
-	public static final String PROPERTY_URL_PREFIX = "urlPrefix";
-	public static final String PROPERTY_PORT = "port";
-	public static final String PROPERTY_IS_PUBLISHING = "isPublishing";
-
-	public static final String ID = "org.eclipse.wst.server.http.server";
-
-	/**
-	 * HttpServer.
-	 */
-	public HttpServer() {
-		super();
-	}
-
-	protected void initialize() {
-		// do nothing
-	}
-
-	/*
-	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		setPort(80);
-		setURLPrefix("");
-		setPublishing(true);
-	}
-
-	public HttpRuntime getHttpRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-
-		return (HttpRuntime) getServer().getRuntime().loadAdapter(HttpRuntime.class, null);
-	}
-
-	/*public void importRuntimeConfiguration(IRuntime arg0, IProgressMonitor arg1) throws CoreException {
-		if (getHttpRuntime() != null) {
-			if (!getHttpRuntime().publishToDirectory()) {
-				setAttribute("auto-publish-setting", 1);
-			} else {
-				setAttribute("auto-publish-setting", 2);
-				setAttribute("auto-publish-time", 1);
-			}
-			//setPublishDirectory(getHttpRuntime().getPublishLocation());
-		}
-	}*/
-
-	public boolean dontPublish() {
-		return getAttribute("auto-publish-setting", "2").equals("1");
-	}
-
-	// public void setDocumentRoot(String docRoot) {
-	// setAttribute(HttpServer.DOCUMENT_ROOT, docRoot);
-	// }
-
-	// public String getDocumentRoot() {
-	// return getAttribute(HttpServer.DOCUMENT_ROOT, "");
-	// }
-
-	// public boolean canPublish() {
-	// return getAttribute(HttpServer.PUBLISH, true);
-	// }
-
-	// public void setPublish(boolean publish) {
-	// setAttribute(HttpServer.PUBLISH, publish);
-	// }
-
-	/**
-	 * Processes the host to return IPv6 addresses in square brackets, e.g.
-	 * "[4ffe:ff2f:101:21:230:6eff:fe04:d9fe]". If the host is just a host name
-	 * or IPv4 address, then it is returned as is.
-	 * 
-	 * @param host the host, an IP address or host name
-	 */
-	protected static String getURLHost(String host) {
-		// use ":" to determine if this is an IPv6 address 
-		return (host != null && host.indexOf(":") >= 0) ? "[" + host + "]" : host;
-	}
-
-	/**
-	 * Return the root URL of this module.
-	 * 
-	 * @param module a module
-	 * @return the root URL
-	 */
-	public URL getModuleRootURL(IModule module) {
-		try {
-			String base = "http://" + getURLHost(getServer().getHost());
-			
-			if (base.equals(""))
-				base = "http://" + getURLHost(getServer().getHost());
-			
-			int port = getPort();
-			URL url = null;
-			if (port == 80)
-				url = new URL(base + "/");
-			else
-				url = new URL(base + ":" + port + "/");
-			
-			String prefix = getURLPrefix();
-			if (prefix != null && prefix.length() > 0)
-				url = new URL(url, prefix + "/");
-			
-			IStaticWeb staticWeb = (IStaticWeb) module.loadAdapter(IStaticWeb.class, null);
-			return new URL(url, staticWeb.getContextRoot());
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not get root URL", e);
-			return null;
-		}
-	}
-
-	/*
-	 * Returns the child module(s) of this module.
-	 */
-	public IModule[] getChildModules(IModule[] module) {
-		return new IModule[0];
-	}
-
-	/*
-	 * Returns the root module(s) of this module.
-	 */
-	public IModule[] getRootModules(IModule module) throws CoreException {
-		return new IModule[] { module };
-	}
-
-	/**
-	 * Returns true if the given project is supported by this server, and false
-	 * otherwise.
-	 * 
-	 * @param add modules
-	 * @param remove modules
-	 * @return the status
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		return new Status(IStatus.OK, HttpCorePlugin.PLUGIN_ID, 0, Messages.canModifyModules, null);
-	}
-
-	public ServerPort[] getServerPorts() {
-		int port = getPort();
-		ServerPort[] ports = { new ServerPort("http", Messages.httpPort, port, "http") };
-		return ports;
-	}
-
-	public int getPort() {
-		return getAttribute(HttpServer.PROPERTY_PORT, 80);
-	}
-
-	public void setPort(int port) {
-		setAttribute(HttpServer.PROPERTY_PORT, port);
-	}
-
-	public void setURLPrefix(String prefix) {
-		setAttribute(HttpServer.PROPERTY_URL_PREFIX, prefix);
-	}
-
-	public String getURLPrefix() {
-		return getAttribute(HttpServer.PROPERTY_URL_PREFIX, "");
-	}
-
-	public boolean isPublishing() {
-		return getAttribute(PROPERTY_IS_PUBLISHING, false);
-	}
-
-	public void setPublishing(boolean shouldPublish) {
-		setAttribute(PROPERTY_IS_PUBLISHING, shouldPublish);
-	}
-
-	public static IServer createHttpServer(String host, String serverName, IProgressMonitor monitor) {
-		try {
-			IRuntimeType runtimeType = ServerCore.findRuntimeType(HttpRuntime.ID);
-			IRuntimeWorkingCopy runtimeCopy = runtimeType.createRuntime(HttpRuntime.ID, monitor);
-			IRuntime runtime = runtimeCopy.save(true, monitor);
-			
-			IServerType serverType = ServerCore.findServerType(ID);
-			IServerWorkingCopy workingCopy = serverType.createServer(ID, null, runtime, monitor);
-			workingCopy.setName(serverName);
-			workingCopy.setHost(host);
-			
-			return workingCopy.save(true, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error creating server", e);
-		}
-		
-		return null;
-	}
-
-	public static IServer findHttpServer(String id) {
-		IServer[] servers = ServerCore.getServers();
-		for (int i = 0; i < servers.length; i++) {
-			if (servers[i].getId().equals(id)) {
-				return servers[i];
-			}
-		}
-		return null;
-	}
-
-	/*public void setPublishDirectory(String pubDir) {
-		setAttribute(PROPERTY_PUB_DIR, pubDir);
-	}
-
-	public String getPublishDirectory() {
-		if (getHttpRuntime() != null)
-			return getAttribute(PROPERTY_PUB_DIR, getHttpRuntime().getPublishLocation());
-		return getAttribute(PROPERTY_PUB_DIR, "");
-	}*/
-
-	/*
-	 * public static void updateBaseURL(String id, String baseURL) {
-	 * updateBaseURL(checkForHttpServer(id), baseURL); }
-	 */
-
-	/*
-	 * public static void updateBaseURL(IServer server, String baseURL) { if
-	 * (server == null) return;
-	 * 
-	 * IServerWorkingCopy workingCopy = server.createWorkingCopy();
-	 * 
-	 * HttpServer as = (HttpServer) workingCopy.getAdapter(HttpServer.class); if
-	 * (as == null) as = (HttpServer) workingCopy.loadAdapter(HttpServer.class,
-	 * null);
-	 * 
-	 * String currentURL = as.getBaseURL();
-	 * 
-	 * if (currentURL.equals(baseURL)) return; as.setBaseURL(baseURL); try {
-	 * as.saveConfiguration(null); workingCopy.save(true, null); } catch
-	 * (CoreException e) { e.printStackTrace(); } }
-	 */
-
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "HttpServer";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServerBehaviour.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServerBehaviour.java
deleted file mode 100644
index 71e48e4..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/HttpServerBehaviour.java
+++ /dev/null
@@ -1,146 +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.http.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-import org.eclipse.wst.server.core.util.PublishUtil;
-/**
- * Generic Http server.
- */
-public class HttpServerBehaviour extends ServerBehaviourDelegate {
-	// the thread used to ping the server to check for startup
-	protected transient PingThread ping = null;
-
-	/**
-	 * HttpServer.
-	 */
-	public HttpServerBehaviour() {
-		super();
-	}
-
-	public void initialize(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	public HttpRuntime getHttpRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-
-		return (HttpRuntime) getServer().getRuntime().loadAdapter(HttpRuntime.class, null);
-	}
-
-	public HttpServer getHttpServer() {
-		return (HttpServer) getServer().getAdapter(HttpServer.class);
-	}
-
-	protected void setServerStarted() {
-		setServerState(IServer.STATE_STARTED);
-	}
-
-	protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.done();
-
-		setServerPublishState(IServer.PUBLISH_STATE_NONE);
-	}
-
-	/*
-	 * Publishes the given module to the server.
-	 */
-	protected void publishModule(int kind, int deltaKind, IModule[] moduleTree, IProgressMonitor monitor) throws CoreException {
-		if (!getHttpServer().isPublishing())
-			return;
-		
-		String contextRoot = null;
-		IModule module = moduleTree[moduleTree.length - 1]; 
-		IStaticWeb sw = (IStaticWeb) module.loadAdapter(IStaticWeb.class, monitor);
-		if (sw != null)
-			contextRoot = sw.getContextRoot();
-		else
-			contextRoot = module.getName();
-		
-		IPath to = getServer().getRuntime().getLocation();
-		if (contextRoot != null && !contextRoot.equals(""))
-			to = to.append(contextRoot);
-		
-		IModuleResource[] res = getResources(moduleTree);
-		IStatus[] status = PublishUtil.publishSmart(res, to, monitor);
-		throwException(status);
-		
-		setModulePublishState(moduleTree, IServer.PUBLISH_STATE_NONE);
-	}
-
-	/**
-	 * Utility method to throw a CoreException based on the contents of a list of
-	 * error and warning status.
-	 * 
-	 * @param status a List containing error and warning IStatus
-	 * @throws CoreException
-	 */
-	private static void throwException(IStatus[] status) throws CoreException {
-		if (status == null || status.length == 0)
-			return;
-		
-		if (status.length == 1)
-			throw new CoreException(status[0]);
-		
-		String message = Messages.errorPublish;
-		MultiStatus status2 = new MultiStatus(HttpCorePlugin.PLUGIN_ID, 0, status, message, null);
-		throw new CoreException(status2);
-	}
-
-	public void restart(String launchMode) throws CoreException {
-		setServerState(IServer.STATE_STOPPED);
-		setServerState(IServer.STATE_STARTED);
-	}
-
-	/**
-	 * Cleanly shuts down and terminates the server.
-	 * 
-	 * @param force <code>true</code> to kill the server
-	 */
-	public void stop(boolean force) {
-		setServerState(IServer.STATE_STOPPED);
-	}
-
-	/**
-	 * Terminates the server.
-	 */
-	protected void terminate() {
-		if (getServer().getServerState() == IServer.STATE_STOPPED)
-			return;
-		
-		try {
-			setServerState(IServer.STATE_STOPPING);
-			Trace.trace(Trace.FINER, "Killing the HTTP process");
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error killing the process", e);
-		}
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "HttpServer";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Messages.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Messages.java
deleted file mode 100644
index 8dae1de..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Messages.java
+++ /dev/null
@@ -1,30 +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.http.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String errorPublish;
-	public static String canModifyModules;
-	public static String httpPort;
-	public static String actionModifyPort;
-	public static String actionModifyPrefixURL;
-	public static String actionModifyPublishing;
-
-	public static String errorPortInUse;
-
-	static {
-		NLS.initializeMessages(HttpCorePlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Messages.properties b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Messages.properties
deleted file mode 100644
index 520bbe8..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Messages.properties
+++ /dev/null
@@ -1,21 +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
-###############################################################################
-
-actionModifyPort=set port number
-actionModifyPrefixURL=set URL prefix
-actionModifyPublishing=set publishing enablement
-errorPublish=Error during publish
-
-httpPort=HTTP Port
-canModifyModules=Web modules can be modified.
-
-errorPortInUse=Port {0} required by {1} is already in use. The server may already be running in another process, or a system process may be using the port. \
-  To start this server you will need to stop the other process or change the port number(s).
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/PingThread.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/PingThread.java
deleted file mode 100644
index 39360c3..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/PingThread.java
+++ /dev/null
@@ -1,130 +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.http.core.internal;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.wst.server.core.IServer;
-
-/**
- * Thread used to ping server to test when it is started.
- */
-public class PingThread {
-	// delay before pinging starts
-	private static final int PING_DELAY = 2000;
-
-	// delay between pings
-	private static final int PING_INTERVAL = 250;
-
-	// maximum number of pings before giving up
-	private int maxPings = 56; // total: 16 seconds + connection time
-
-	private boolean stop = false;
-
-	private String url;
-
-	private IServer server;
-
-	private HttpServerBehaviour behaviour;
-
-	/**
-	 * Create a new PingThread.
-	 * 
-	 * @param server
-	 * @param url
-	 * @param maxPings
-	 * @param behaviour
-	 */
-	public PingThread(IServer server, String url, int maxPings,
-			HttpServerBehaviour behaviour) {
-		super();
-		this.server = server;
-		this.url = url;
-		this.maxPings = maxPings;
-		this.behaviour = behaviour;
-		Thread t = new Thread() {
-			public void run() {
-				ping();
-			}
-		};
-		t.setDaemon(true);
-		t.start();
-	}
-
-	/**
-	 * Ping the server until it is started. Then set the server state to
-	 * STATE_STARTED.
-	 */
-	protected void ping() {
-		int count = 0;
-		try {
-			Thread.sleep(PING_DELAY);
-		} catch (Exception e) {
-			// ignore
-		}
-		while (!stop) {
-			try {
-				if (count == maxPings) {
-					try {
-						server.stop(false);
-					} catch (Exception e) {
-						Trace.trace(Trace.FINEST, "Ping: could not stop server");
-					}
-					stop = true;
-					break;
-				}
-				count++;
-
-				Trace.trace(Trace.FINEST, "Ping: pinging");
-				URL pingUrl = new URL(url);
-				URLConnection conn = pingUrl.openConnection();
-				((HttpURLConnection) conn).getResponseCode();
-
-				// ping worked - server is up
-				if (!stop) {
-					Trace.trace(Trace.FINEST, "Ping: success");
-					Thread.sleep(200);
-					behaviour.setServerStarted();
-				}
-				stop = true;
-			} catch (FileNotFoundException fe) {
-				try {
-					Thread.sleep(200);
-				} catch (Exception e) {
-					// ignore
-				}
-				behaviour.setServerStarted();
-				stop = true;
-			} catch (Exception e) {
-				Trace.trace(Trace.FINEST, "Ping: failed");
-				// pinging failed
-				if (!stop) {
-					try {
-						Thread.sleep(PING_INTERVAL);
-					} catch (InterruptedException e2) {
-						// ignore
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Tell the pinging to stop.
-	 */
-	public void stop() {
-		Trace.trace(Trace.FINEST, "Ping: stopping");
-		stop = true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/ProgressUtil.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/ProgressUtil.java
deleted file mode 100644
index 788a656..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/ProgressUtil.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.http.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-/**
- * Progress Monitor utility.
- */
-public class ProgressUtil {
-	/**
-	 * ProgressUtil constructor comment.
-	 */
-	private ProgressUtil() {
-		super();
-	}
-
-	/**
-	 * Return a valid progress monitor.
-	 * 
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the current
-	 * progress monitor.
-	 * 
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks int
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks);
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the current
-	 * progress monitor.
-	 * 
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks a number of ticks
-	 * @param style a style
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks,
-			int style) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks, style);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Trace.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Trace.java
deleted file mode 100644
index dab0b8b..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/Trace.java
+++ /dev/null
@@ -1,102 +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.http.core.internal;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static byte CONFIG = 0;
-	public static byte WARNING = 1;
-	public static byte SEVERE = 2;
-	public static byte FINEST = 3;
-	public static byte FINER = 4;
-	
-	private static final String[] levelNames = new String[] { "CONFIG   ", "WARNING  ",
-		"SEVERE   ", "FINER    ", "FINEST   " };
-
-	private static final String spacer = "                                   ";
-
-	private static final SimpleDateFormat sdf = new SimpleDateFormat(
-			"dd/MM/yy HH:mm.ss.SSS");
-
-	protected static int pluginLength = -1;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 * 
-	 * @param level the trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level the trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!HttpCorePlugin.getInstance().isDebugging())
-			return;
-
-		/*
-		 * System.out.println(ApachePlugin.PLUGIN_ID + " " + s); if (t != null)
-		 * t.printStackTrace();
-		 */
-		trace(HttpCorePlugin.PLUGIN_ID, level, s, t);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	private static void trace(String pluginId, int level, String s, Throwable t) {
-		if (pluginId == null || s == null)
-			return;
-
-		if (!HttpCorePlugin.getInstance().isDebugging())
-			return;
-
-		StringBuffer sb = new StringBuffer(pluginId);
-		if (pluginId.length() > pluginLength)
-			pluginLength = pluginId.length();
-		else if (pluginId.length() < pluginLength)
-			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
-		sb.append(" ");
-		sb.append(levelNames[level]);
-		sb.append(" ");
-		sb.append(sdf.format(new Date()));
-		sb.append(" ");
-		sb.append(s);
-		// Platform.getDebugOption(ServerCore.PLUGIN_ID + "/" + "resources");
-
-		System.out.println(sb.toString());
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyPortCommand.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyPortCommand.java
deleted file mode 100644
index 396021f..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyPortCommand.java
+++ /dev/null
@@ -1,52 +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.http.core.internal.command;
-
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.http.core.internal.HttpServer;
-import org.eclipse.wst.server.http.core.internal.Messages;
-/**
- * Command to change the port.
- */
-public class ModifyPortCommand extends ServerCommand {
-	protected int port;
-	protected int oldPort;
-
-	/**
-	 * ModifyPortCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param port new port number
-	 */
-	public ModifyPortCommand(HttpServer server, int port) {
-		super(server, Messages.actionModifyPort);
-		this.port = port;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		// find old port number
-		ServerPort temp = server.getServerPorts()[0];
-		oldPort = temp.getPort();
-		
-		// make the change
-		server.setPort(port);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setPort(oldPort);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyPublishingCommand.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyPublishingCommand.java
deleted file mode 100644
index adb278f..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyPublishingCommand.java
+++ /dev/null
@@ -1,49 +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.http.core.internal.command;
-
-import org.eclipse.wst.server.http.core.internal.HttpServer;
-import org.eclipse.wst.server.http.core.internal.Messages;
-/**
- * Command to change the publishing state.
- */
-public class ModifyPublishingCommand extends ServerCommand {
-	protected boolean shouldPublish;
-	protected boolean oldShouldPublish;
-
-	/**
-	 * ModifyPublishingCommand constructor.
-	 * 
-	 * @param server a server
-	 * @param shouldPublish 
-	 */
-	public ModifyPublishingCommand(HttpServer server, boolean shouldPublish) {
-		super(server, Messages.actionModifyPublishing);
-		this.shouldPublish = shouldPublish;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		oldShouldPublish = server.isPublishing();
-		
-		// make the change
-		server.setPublishing(shouldPublish);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setPublishing(oldShouldPublish);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyURLPrefixCommand.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyURLPrefixCommand.java
deleted file mode 100644
index e30759f..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ModifyURLPrefixCommand.java
+++ /dev/null
@@ -1,48 +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.http.core.internal.command;
-
-import org.eclipse.wst.server.http.core.internal.HttpServer;
-import org.eclipse.wst.server.http.core.internal.Messages;
-
-public class ModifyURLPrefixCommand extends ServerCommand {
-	protected String prefix;
-	protected String oldPrefix;
-
-	/**
-	 * ModifyURLPrefixCommand constructor.
-	 * 
-	 * @param server a HTTP configuration
-	 * @param prefix a new prefix
-	 */
-	public ModifyURLPrefixCommand(HttpServer server, String prefix) {
-		super(server, Messages.actionModifyPrefixURL);
-		this.prefix = prefix;
-	}
-
-	/**
-	 * Execute the command.
-	 */
-	public void execute() {
-		// find old prefix
-		oldPrefix = server.getURLPrefix();
-
-		// make the change
-		server.setURLPrefix(prefix);
-	}
-
-	/**
-	 * Undo the command.
-	 */
-	public void undo() {
-		server.setURLPrefix(oldPrefix);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ServerCommand.java b/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ServerCommand.java
deleted file mode 100644
index 0ad3f60..0000000
--- a/plugins/org.eclipse.wst.server.http.core/src/org/eclipse/wst/server/http/core/internal/command/ServerCommand.java
+++ /dev/null
@@ -1,55 +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.http.core.internal.command;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.http.core.internal.HttpServer;
-/**
- * Server command.
- */
-public abstract class ServerCommand extends AbstractOperation {
-	protected HttpServer server;
-
-	/**
-	 * ServerCommand constructor comment.
-	 * 
-	 * @param server a server
-	 * @param label a label
-	 */
-	public ServerCommand(HttpServer server, String label) {
-		super(label);
-		this.server = server;
-	}
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return execute(monitor, info);
-	}
-
-	public abstract void execute();
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		execute();
-		return null;
-	}
-
-	public abstract void undo();
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info)
-			throws ExecutionException {
-		undo();
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/.classpath b/plugins/org.eclipse.wst.server.http.ui/.classpath
deleted file mode 100644
index 52165ec..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.server.http.ui/.cvsignore b/plugins/org.eclipse.wst.server.http.ui/.cvsignore
deleted file mode 100644
index 33dd7de..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-temp.folder
-build.xml
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.server.http.ui/.project b/plugins/org.eclipse.wst.server.http.ui/.project
deleted file mode 100644
index 5a8769f..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server.http.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.http.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.wst.server.http.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.http.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a92c4fc..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Thu Mar 08 13:02:41 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 2e94ed4..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Mar 08 13:02:39 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.server.http.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.server.http.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.http.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 831791d..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.server.http.ui;singleton:=true
-Bundle-Version: 1.0.1.qualifier
-Bundle-Activator: org.eclipse.wst.server.http.ui.internal.HttpUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.server.http.ui.internal;x-internal:=true
-Require-Bundle: org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.204,2.0.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.wst.server.http.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.2.0,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.http.ui/about.html b/plugins/org.eclipse.wst.server.http.ui/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.server.http.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 06, 2007</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.http.ui/build.properties b/plugins/org.eclipse.wst.server.http.ui/build.properties
deleted file mode 100644
index 640fbf4..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/build.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-bin.includes = META-INF/,\
-               icons/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-source.. = src/
diff --git a/plugins/org.eclipse.wst.server.http.ui/icons/obj16/server.gif b/plugins/org.eclipse.wst.server.http.ui/icons/obj16/server.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/icons/obj16/server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.http.ui/icons/wizban/server_wiz.gif b/plugins/org.eclipse.wst.server.http.ui/icons/wizban/server_wiz.gif
deleted file mode 100644
index 30de91f..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/icons/wizban/server_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.http.ui/plugin.properties b/plugins/org.eclipse.wst.server.http.ui/plugin.properties
deleted file mode 100644
index a4fd08c..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=HTTP Server UI Support
-providerName=Eclipse.org
diff --git a/plugins/org.eclipse.wst.server.http.ui/plugin.xml b/plugins/org.eclipse.wst.server.http.ui/plugin.xml
deleted file mode 100644
index 6542f29..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/plugin.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension point="org.eclipse.wst.server.ui.serverImages">
-      <image
-         id="org.eclipse.wst.server.http.runtime.image"
-         icon="icons/obj16/server.gif"
-         typeIds="org.eclipse.wst.server.http.runtime,org.eclipse.wst.server.http.server"/>
-   </extension>
-
-   <extension point="org.eclipse.wst.common.project.facet.ui.images">
-     <image runtime-component-type="org.eclipse.wst.server.http.runtime"
-       path="icons/obj16/server.gif"/>
-   </extension>
-
-   <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-     <adapter>
-       <runtime-component id="org.eclipse.wst.server.http.runtime"/>
-       <factory class="org.eclipse.wst.server.ui.FacetRuntimeComponentLabelProvider"/>
-       <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-     </adapter>
-   </extension>
-
-   <extension point="org.eclipse.wst.server.ui.wizardFragments">
-      <fragment
-         id="org.eclipse.wst.server.http.runtime.wizard"
-         typeIds="org.eclipse.wst.server.http.runtime"
-         class="org.eclipse.wst.server.http.ui.internal.HttpRuntimeWizardFragment"/>
-   </extension>
-
-   <extension point="org.eclipse.wst.server.ui.wizardFragments">
-      <fragment
-         id="org.eclipse.wst.server.http.server.wizard"
-         typeIds="org.eclipse.wst.server.http.server"
-         class="org.eclipse.wst.server.http.ui.internal.HttpServerWizardFragment"/>
-   </extension>
-
-   <extension point="org.eclipse.wst.server.ui.editorPageSections">
-   	<section
-         id="org.eclipse.wst.server.http.editor"
-         order="10"
-         insertionId="org.eclipse.wst.server.editor.overview.left"
-         typeIds="org.eclipse.wst.server.http.server"
-         class="org.eclipse.wst.server.http.ui.internal.HttpSection"/>
-   </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/ContextIds.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/ContextIds.java
deleted file mode 100644
index 8572679..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/ContextIds.java
+++ /dev/null
@@ -1,18 +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.http.ui.internal;
-/**
- * Constant ids for context help.
- */
-public interface ContextIds {
-	public static final String SERVER_EDITOR = HttpUIPlugin.PLUGIN_ID + ".teig0000";
-	public static final String RUNTIME_COMPOSITE = HttpUIPlugin.PLUGIN_ID + ".twnr0000";
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpRuntimeComposite.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpRuntimeComposite.java
deleted file mode 100644
index 58aa030..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpRuntimeComposite.java
+++ /dev/null
@@ -1,204 +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.http.ui.internal;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-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.http.core.internal.HttpRuntime;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Wizard page to set the server install directory.
- */
-public class HttpRuntimeComposite extends Composite {
-	protected IRuntimeWorkingCopy runtimeWC;
-	protected HttpRuntime runtime;
-	protected Text name;
-	protected Text publishDir;
-	protected Button browseButton;
-	protected IWizardHandle wizard;
-
-	/**
-	 * HttpRuntimeComposite
-	 * 
-	 * @param parent the parent composite
-	 * @param wizard the wizard handle
-	 */
-	public HttpRuntimeComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		wizard.setTitle(Messages.wizardTitle);
-		wizard.setDescription(Messages.wizardDescription);
-		wizard.setImageDescriptor(HttpUIPlugin.getImageDescriptor(HttpUIPlugin.IMG_WIZ_SERVER));
-
-		createControl();
-	}
-
-	protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
-		if (newRuntime == null) {
-			runtimeWC = null;
-			runtime = null;
-		} else {
-			runtimeWC = newRuntime;
-			runtime = (HttpRuntime) newRuntime.loadAdapter(HttpRuntime.class, null);
-		}
-		
-		init();
-		validate();
-	}
-
-	/**
-	 * Provide a wizard page to change the Apache installation directory.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout(1, true);
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Composite nameGroup = new Composite(this, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		nameGroup.setLayout(layout);
-		nameGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.RUNTIME_COMPOSITE);
-		
-		Label label = new Label(nameGroup, SWT.NONE);
-		label.setText(Messages.runtimeName);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_END);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		
-		name = new Text(nameGroup, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		name.setLayoutData(data);
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setName(name.getText());
-				validate();
-			}
-		});
-		
-		createPublishLocationGroup(nameGroup);
-		
-		init();
-		validate();
-		
-		Dialog.applyDialogFont(this);
-		
-		name.forceFocus();
-	}
-
-	protected void init() {
-		if (name == null || runtimeWC == null || runtime == null)
-			return;
-		
-		name.setText(runtimeWC.getName());
-		if (runtimeWC.getLocation() != null)
-			publishDir.setText(runtimeWC.getLocation().toOSString());
-	}
-
-	protected void validate() {
-		if (runtime == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-		
-		wizard.setMessage(null, IMessageProvider.NONE);
-		
-		if (runtimeWC != null) {
-			String name2 = runtimeWC.getName();
-			if (name2 == null || name2.trim().equals("")) {
-				wizard.setMessage(Messages.wizardMissingRuntimeName, IMessageProvider.ERROR);
-			} else {
-				boolean ok = checkRuntimeName(name2);
-				if (!ok) {
-					wizard.setMessage(Messages.wizardDuplicateName, IMessageProvider.ERROR);
-				}
-			}
-		}
-	}
-
-	private void createPublishLocationGroup(Composite publishInfoGroup) {
-		Font font = publishInfoGroup.getFont();
-		// location label
-		Label locationLabel = new Label(publishInfoGroup, SWT.NONE);
-		locationLabel.setFont(font);
-		locationLabel.setText(Messages.publishDir);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_END);
-		data.horizontalSpan = 2;
-		locationLabel.setLayoutData(data);
-		
-		// project location entry field
-		publishDir = new Text(publishInfoGroup, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		publishDir.setLayoutData(data);
-		publishDir.setFont(font);
-		publishDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setLocation(new Path(publishDir.getText()));
-				validate();
-			}
-		});
-		
-		// browse button
-		browseButton = new Button(publishInfoGroup, SWT.PUSH);
-		browseButton.setFont(font);
-		browseButton.setText(Messages.browse);
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				DirectoryDialog dialog = new DirectoryDialog(HttpRuntimeComposite.this.getShell());
-				dialog.setMessage(Messages.selectInstallDir);
-				dialog.setFilterPath(publishDir.getText());
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null)
-					publishDir.setText(selectedDirectory);
-			}
-		});
-	}
-
-	private boolean checkRuntimeName(String name2) {
-		name2 = name2.trim();
-		if (name2.equals(runtimeWC.getName())) {
-			return true;
-		}
-		IRuntime[] allRuntimes = ServerCore.getRuntimes();
-		
-		if (allRuntimes != null) {
-			int size = allRuntimes.length;
-			for (int i = 0; i < size; i++) {
-				IRuntime runtime2 = allRuntimes[i];
-				if (name2.equals(runtime2.getName()))
-					return false;
-			}
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpRuntimeWizardFragment.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpRuntimeWizardFragment.java
deleted file mode 100644
index 1739b2a..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpRuntimeWizardFragment.java
+++ /dev/null
@@ -1,63 +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.http.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * HTTP runtime wizard fragment.
- */
-public class HttpRuntimeWizardFragment extends WizardFragment {
-	protected HttpRuntimeComposite comp;
-
-	/**
-	 * ServerWizardFragment constructor
-	 */
-	public HttpRuntimeWizardFragment() {
-		// do nothing
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.ui.task.WizardFragment#createComposite()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new HttpRuntimeComposite(parent, wizard);
-		return comp;
-	}
-
-	/*
-	 * @see org.eclipse.wst.server.ui.wizard.WizardFragment#enter()
-	 */
-	public void enter() {
-		if (comp != null) {
-			IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-			comp.setRuntime(runtime);
-		}
-	}
-
-	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate(null);
-		return (status == null || status.getSeverity() != IStatus.ERROR);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpSection.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpSection.java
deleted file mode 100644
index 43d9d0a..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpSection.java
+++ /dev/null
@@ -1,195 +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.http.ui.internal;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Spinner;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.forms.IFormColors;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.wst.server.http.core.internal.HttpServer;
-import org.eclipse.wst.server.http.core.internal.command.ModifyPortCommand;
-import org.eclipse.wst.server.http.core.internal.command.ModifyPublishingCommand;
-import org.eclipse.wst.server.http.core.internal.command.ModifyURLPrefixCommand;
-import org.eclipse.wst.server.ui.editor.ServerEditorSection;
-
-public class HttpSection extends ServerEditorSection {
-	protected HttpServer httpServer;
-	protected boolean updating;
-	protected Text urlPrefixText;
-	protected Button publishCheckBox;
-	protected Spinner portSpinner;
-	protected PropertyChangeListener listener;
-
-	public HttpSection() {
-		super();
-	}
-
-	protected void addChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (updating)
-					return;
-				updating = true;
-				if (HttpServer.PROPERTY_PORT.equals(event.getPropertyName())) {
-					Integer i = (Integer) event.getNewValue();
-					portSpinner.setSelection(i.intValue());
-				} else if (HttpServer.PROPERTY_URL_PREFIX.equals(event.getPropertyName())) {
-					String s = (String) event.getNewValue();
-					if (s != null)
-						urlPrefixText.setText(s);
-				} else if (HttpServer.PROPERTY_IS_PUBLISHING.equals(event.getPropertyName())) {
-					Boolean b = (Boolean) event.getNewValue();
-					if (b != null)
-						publishCheckBox.setSelection(b.booleanValue());
-				}
-				updating = false;
-			}
-		};
-		server.addPropertyChangeListener(listener);
-	}
-
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR | Section.DESCRIPTION);
-		section.setText(Messages.editorSectionTitle);
-		section.setDescription(Messages.editorSectionDescription);
-		section.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 8;
-		layout.marginWidth = 8;
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.FILL_HORIZONTAL));
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
-		
-		// URL prefix
-		Label label = createLabel(toolkit, composite, Messages.editorURLPrefix);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		//data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		urlPrefixText = toolkit.createText(composite, "");
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		//data.horizontalSpan = 2;
-		urlPrefixText.setLayoutData(data);
-		urlPrefixText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new ModifyURLPrefixCommand(httpServer, urlPrefixText.getText()));
-				updating = false;
-			}
-		});
-		
-		// port
-		createLabel(toolkit, composite, Messages.editorPort);
-		
-		portSpinner = new Spinner(composite, SWT.BORDER);
-		portSpinner.setMinimum(0);
-		portSpinner.setMinimum(999999);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		portSpinner.setLayoutData(data);
-		portSpinner.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updating)
-					return;
-				updating = true;
-				execute(new ModifyPortCommand(httpServer, portSpinner.getSelection()));
-				updating = false;
-			}
-		});
-		
-		// is publishing
-		publishCheckBox = new Button(composite, SWT.CHECK);
-		publishCheckBox.setText(Messages.editorShouldPublish);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		publishCheckBox.setLayoutData(data);
-		publishCheckBox.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				Button b = (Button) se.getSource();
-				if (updating)
-					return;
-				updating = true;
-				execute(new ModifyPublishingCommand(httpServer, b.getSelection()));
-				updating = false;
-			}
-		});
-		
-		initialize();
-	}
-
-	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() {
-		if (server != null)
-			server.removePropertyChangeListener(listener);
-	}
-
-	/*
-	 * (non-Javadoc) Initializes the editor part with a site and input.
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		
-		httpServer = (HttpServer) server.loadAdapter(HttpServer.class, null);
-		addChangeListener();
-		initialize();
-	}
-
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		if (urlPrefixText == null)
-			return;
-		updating = true;
-		
-		String urlPrefix = httpServer.getURLPrefix();
-		if (urlPrefix != null)
-			urlPrefixText.setText(urlPrefix);
-		urlPrefixText.setEnabled(!readOnly);
-		
-		portSpinner.setSelection(httpServer.getPort());
-		portSpinner.setEnabled(!readOnly);
-		
-		publishCheckBox.setSelection(httpServer.isPublishing());
-		publishCheckBox.setEnabled(!readOnly);
-		updating = false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerComposite.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerComposite.java
deleted file mode 100644
index ef7e127..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerComposite.java
+++ /dev/null
@@ -1,179 +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.http.ui.internal;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-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.Spinner;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.http.core.internal.HttpServer;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Wizard page to set the server properties.
- */
-public class HttpServerComposite extends Composite {
-	protected IServerWorkingCopy serverWC;
-	protected HttpServer server;
-	protected Text prefix;
-	protected Spinner port;
-	protected Button publishCheckBox;
-	protected IWizardHandle wizard;
-
-	/**
-	 * HttpServerComposite
-	 * 
-	 * @param parent the parent composite
-	 * @param wizard the wizard handle
-	 */
-	public HttpServerComposite(Composite parent, IWizardHandle wizard) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
-		wizard.setTitle(Messages.wizardTitle);
-		wizard.setDescription(Messages.wizardDescription);
-		wizard.setImageDescriptor(HttpUIPlugin.getImageDescriptor(HttpUIPlugin.IMG_WIZ_SERVER));
-
-		createControl();
-	}
-
-	protected void setServer(IServerWorkingCopy newServer) {
-		if (newServer == null) {
-			serverWC = null;
-			server = null;
-		} else {
-			serverWC = newServer;
-			server = (HttpServer) newServer.loadAdapter(HttpServer.class, null);
-		}
-		
-		if (!isDisposed())
-			init();
-		validate();
-	}
-
-	/**
-	 * Provide a wizard page to change the Apache installation directory.
-	 */
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Composite comp = new Composite(this, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ContextIds.RUNTIME_COMPOSITE);
-		
-		createServerInfoGroup(comp);
-		
-		Font font = comp.getFont();
-		publishCheckBox = new Button(comp, SWT.CHECK);
-		publishCheckBox.setText(Messages.shouldPublish);
-		publishCheckBox.setFont(font);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		publishCheckBox.setLayoutData(data);
-		
-		publishCheckBox.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				Button b = (Button) se.getSource();
-				server.setPublishing(b.getSelection());
-				validate();
-			}
-		});
-		
-		init();
-		validate();
-		
-		Dialog.applyDialogFont(this);
-		
-		port.forceFocus();
-	}
-
-	protected void init() {
-		if (port == null || serverWC == null || server == null)
-			return;
-		
-		port.setSelection(server.getPort());
-		prefix.setText(server.getURLPrefix());
-		
-		boolean canPublish = server.isPublishing();
-		publishCheckBox.setSelection(canPublish);
-	}
-
-	protected void validate() {
-		/*if (server == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
-		
-		wizard.setMessage(null, IMessageProvider.NONE);*/
-	}
-
-	private void createServerInfoGroup(Composite parent) {
-		Font font = parent.getFont();
-		
-		// port label
-		Label portLabel = new Label(parent, SWT.NONE);
-		portLabel.setFont(font);
-		portLabel.setText(Messages.port);
-		
-		// port entry field
-		port = new Spinner(parent, SWT.BORDER);
-		port.setMinimum(0);
-		port.setMaximum(999999);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 305;
-		port.setLayoutData(data);
-		port.setFont(font);
-		port.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (server != null)
-					try {
-						server.setPort(port.getSelection());
-					} catch (Exception ex) {
-						// ignore
-					}
-				validate();
-			}
-		});
-		
-		// prefix label
-		Label prefixLabel = new Label(parent, SWT.NONE);
-		prefixLabel.setFont(font);
-		prefixLabel.setText(Messages.URLPrefix);
-		
-		// prefix entry field
-		prefix = new Text(parent, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 305;
-		prefix.setLayoutData(data);
-		prefix.setFont(font);
-		prefix.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				server.setURLPrefix(prefix.getText());
-				validate();
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerWizardFragment.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerWizardFragment.java
deleted file mode 100644
index dea1210..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpServerWizardFragment.java
+++ /dev/null
@@ -1,54 +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.http.ui.internal;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-/**
- * HTTP server wizard fragment.
- */
-public class HttpServerWizardFragment extends WizardFragment {
-	protected HttpServerComposite comp;
-
-	/**
-	 * ServerWizardFragment constructor
-	 */
-	public HttpServerWizardFragment() {
-		setComplete(true);
-	}
-
-	public boolean hasComposite() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.ui.task.WizardFragment#createComposite()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new HttpServerComposite(parent, wizard);
-		return comp;
-	}
-
-	/*
-	 * @see org.eclipse.wst.server.ui.wizard.WizardFragment#enter()
-	 */
-	public void enter() {
-		if (comp != null) {
-			IServerWorkingCopy runtime = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
-			comp.setServer(runtime);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpUIPlugin.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpUIPlugin.java
deleted file mode 100644
index 0d9a794..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/HttpUIPlugin.java
+++ /dev/null
@@ -1,118 +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.http.ui.internal;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-/**
- * The activator class controls the plug-in life cycle
- */
-public class HttpUIPlugin extends AbstractUIPlugin {
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.http.ui";
-
-	private Map imageDescriptors = new HashMap();
-
-	// base url for icons
-	private static URL ICON_BASE_URL;
-	private static final String URL_WIZBAN = "wizban/";
-	public static final String IMG_WIZ_SERVER = "wizServer";
-
-	// The shared instance
-	private static HttpUIPlugin plugin;
-
-	/**
-	 * The constructor
-	 */
-	public HttpUIPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * 
-	 * @return HttpUIPlugin
-	 */
-	public static HttpUIPlugin getInstance() {
-		return plugin;
-	}
-
-	protected ImageRegistry createImageRegistry() {
-		ImageRegistry registry = new ImageRegistry();
-		registerImage(registry, IMG_WIZ_SERVER, URL_WIZBAN + "server_wiz.gif");
-		
-		return registry;
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public static Image getImage(String key) {
-		return getInstance().getImageRegistry().get(key);
-	}
-
-	/**
-	 * Return the image with the given key from the image registry.
-	 * 
-	 * @param key java.lang.String
-	 * @return org.eclipse.jface.parts.IImage
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		try {
-			getInstance().getImageRegistry();
-			return (ImageDescriptor) getInstance().imageDescriptors.get(key);
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Register an image with the registry.
-	 * 
-	 * @param key java.lang.String
-	 * @param partialURL java.lang.String
-	 */
-	private void registerImage(ImageRegistry registry, String key, String partialURL) {
-		if (ICON_BASE_URL == null) {
-			String pathSuffix = "icons/";
-			ICON_BASE_URL = plugin.getBundle().getEntry(pathSuffix);
-		}
-
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(new URL(ICON_BASE_URL,
-					partialURL));
-			registry.put(key, id);
-			imageDescriptors.put(key, id);
-		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error registering image", e);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Messages.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Messages.java
deleted file mode 100644
index f005018..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Messages.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.http.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String browse;
-	public static String runtimeName;
-	public static String port;
-	public static String URLPrefix;
-	public static String shouldPublish;
-	public static String publishDir;
-	public static String selectInstallDir;
-	public static String wizardDescription;
-	public static String wizardDuplicateName;
-	public static String wizardMissingRuntimeName;
-	public static String wizardTitle;
-	public static String editorSectionTitle;
-	public static String editorSectionDescription;
-	public static String editorURLPrefix;
-	public static String editorPort;
-	public static String editorShouldPublish;
-
-	static {
-		NLS.initializeMessages(HttpUIPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Messages.properties b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Messages.properties
deleted file mode 100644
index 61267ca..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Messages.properties
+++ /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
-###############################################################################
-
-runtimeName=Na&me:
-browse=B&rowse...
-port=HTTP &Port:
-URLPrefix=&URL Prefix:
-publishDir=Publishing &Directory:
-shouldPublish=Enable p&ublishing to this server
-
-selectInstallDir=Select HTTP server document root.
-
-# Apache server wizard and editor
-wizardTitle=HTTP Server
-wizardDescription=Specify the HTTP server information
-wizardDuplicateName=Duplicate Server Name
-wizardMissingRuntimeName=Missing Runtime Name
-
-editorSectionTitle=HTTP Server
-editorSectionDescription=Specify publishing directory and URL.
-editorURLPrefix=URL Prefix:
-editorPort=HTTP Port:
-editorShouldPublish=Enable publishing to this server
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/RuntimeLabelProvider.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/RuntimeLabelProvider.java
deleted file mode 100644
index 50af508..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/RuntimeLabelProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    IBM Corporation - Support for all server types
- ******************************************************************************/
-package org.eclipse.wst.server.http.ui.internal;
-
-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;
-/**
- * 
- */
-public final class RuntimeLabelProvider implements IRuntimeComponentLabelProvider {
-	private final IRuntimeComponent rc;
-
-	public RuntimeLabelProvider(final IRuntimeComponent rc) {
-		this.rc = rc;
-	}
-
-	public String getLabel() {
-		return rc.getProperty("type");
-	}
-
-	public static final class Factory implements IAdapterFactory {
-		private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
-
-		public Object getAdapter(final Object adaptable, final Class adapterType) {
-			final 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.http.ui/src/org/eclipse/wst/server/http/ui/internal/Trace.java b/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Trace.java
deleted file mode 100644
index d0a557c..0000000
--- a/plugins/org.eclipse.wst.server.http.ui/src/org/eclipse/wst/server/http/ui/internal/Trace.java
+++ /dev/null
@@ -1,54 +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.http.ui.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static byte CONFIG = 0;
-	public static byte WARNING = 1;
-	public static byte SEVERE = 2;
-	public static byte FINEST = 3;
-	public static byte FINER = 4;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 * 
-	 * @param level the trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level the trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!HttpUIPlugin.getInstance().isDebugging())
-			return;
-
-		System.out.println(HttpUIPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/.classpath b/plugins/org.eclipse.wst.server.preview.adapter/.classpath
deleted file mode 100644
index 52165ec..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/.cvsignore b/plugins/org.eclipse.wst.server.preview.adapter/.cvsignore
deleted file mode 100644
index 33dd7de..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-temp.folder
-build.xml
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/.project b/plugins/org.eclipse.wst.server.preview.adapter/.project
deleted file mode 100644
index 32a9232..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server.preview.adapter</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.preview.adapter/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/.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.preview.adapter/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 403949d..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Wed Apr 04 18:12:13 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index a7cc1d0..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Feb 23 21:11:52 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.server.preview.adapter/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.server.preview.adapter/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/.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.preview.adapter/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.preview.adapter/META-INF/MANIFEST.MF
deleted file mode 100644
index 62c6d46..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.server.preview.adapter;singleton:=true
-Bundle-Version: 1.0.1.qualifier
-Bundle-Activator: org.eclipse.wst.server.preview.adapter.internal.core.PreviewPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.wst.server.core;bundle-version="[1.0.204,2.0.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.debug.ui;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.2.0,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/about.html b/plugins/org.eclipse.wst.server.preview.adapter/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/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 06, 2007</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.preview.adapter/build.properties b/plugins/org.eclipse.wst.server.preview.adapter/build.properties
deleted file mode 100644
index f87c5e5..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/build.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-bin.includes = META-INF/,\
-               plugin.properties,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               icons/
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-source.. = src/
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/icons/obj16/preview.gif b/plugins/org.eclipse.wst.server.preview.adapter/icons/obj16/preview.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/icons/obj16/preview.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/plugin.properties b/plugins/org.eclipse.wst.server.preview.adapter/plugin.properties
deleted file mode 100644
index 7779d81..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/plugin.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-pluginName=HTTP Preview Support
-providerName=Eclipse.org
-
-previewRuntimeTypeName=HTTP Preview
-previewRuntimeTypeDescription=A runtime to build static Web modules.
-
-previewServerTypeName=HTTP Preview
-previewServerTypeDescription=A server to preview static Web modules.
-
-previewLaunchConfigurationType=HTTP Preview
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/plugin.xml b/plugins/org.eclipse.wst.server.preview.adapter/plugin.xml
deleted file mode 100644
index 576edc7..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/plugin.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-  <extension point="org.eclipse.wst.server.core.runtimeTypes">
-    <runtimeType
-       id="org.eclipse.wst.server.preview.runtime"
-       name="%previewRuntimeTypeName"
-       description="%previewRuntimeTypeDescription"
-       facetRuntimeComponent="org.eclipse.wst.server.preview.runtime"
-	    facetRuntimeVersion="1.0"
-       class="org.eclipse.wst.server.preview.adapter.internal.core.PreviewRuntime">
-       <moduleType
-         types="wst.web"
-         versions="1.0"/>
-    </runtimeType>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.serverTypes">
-     <serverType
-       id="org.eclipse.wst.server.preview.server"
-       name="%previewServerTypeName"
-       description="%previewServerTypeDescription"
-       supportsRemoteHosts="false"
-       runtime="true"
-       initialState="stopped"
-       hasConfiguration="false"
-       launchModes="run,debug,profile"
-       launchConfigId="org.eclipse.wst.server.preview.launchConfigurationType"
-       runtimeTypeId="org.eclipse.wst.server.preview.runtime"
-       class="org.eclipse.wst.server.preview.adapter.internal.core.PreviewServer"
-       behaviourClass="org.eclipse.wst.server.preview.adapter.internal.core.PreviewServerBehaviour"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <runtime-component-type
-       id="org.eclipse.wst.server.preview.runtime"/>
-
-    <runtime-component-version
-       type="org.eclipse.wst.server.preview.runtime"
-       version="1.0"/>
-
-    <supported>
-      <runtime-component
-         id="org.eclipse.wst.server.preview.runtime"
-         version="1.0"/>
-      <facet
-         id="wst.web"
-         version="1.0"/>
-    </supported>
-  </extension>
-
-  <extension point="org.eclipse.debug.core.launchConfigurationTypes">
-     <launchConfigurationType
-        id="org.eclipse.wst.server.preview.launchConfigurationType"
-        name="%previewLaunchConfigurationType"
-        delegate="org.eclipse.wst.server.preview.adapter.internal.core.PreviewLaunchConfigurationDelegate"
-        modes="run,debug,profile"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.server.core.launchableAdapters">
-    <launchableAdapter
-      id="org.eclipse.wst.server.preview"
-      class="org.eclipse.wst.server.preview.adapter.internal.core.PreviewLaunchableAdapterDelegate"/>
-  </extension>
-
-
-  <extension point="org.eclipse.wst.server.ui.serverImages">
-    <image
-      id="org.eclipse.wst.server.preview.ui"
-      typeIds="org.eclipse.wst.server.preview.runtime,org.eclipse.wst.server.preview.server"
-      icon="icons/obj16/preview.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="org.eclipse.wst.server.preview.runtime"
-       path="icons/obj16/preview.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="org.eclipse.wst.server.preview.runtime"/>
-      <factory class="org.eclipse.wst.server.ui.FacetRuntimeComponentLabelProvider"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-
-  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-    <launchConfigurationTypeImage
-      id="org.eclipse.wst.server.preview.launchConfigurationTypeImage"
-      configTypeID="org.eclipse.wst.server.preview.launchConfigurationType"
-      icon="icons/obj16/preview.gif">
-    </launchConfigurationTypeImage>
-  </extension>
-
-  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-    <launchConfigurationTabGroup
-      id="org.eclipse.wst.server.preview.launchConfigurationTabGroup"
-      type="org.eclipse.wst.server.preview.launchConfigurationType"
-      class="org.eclipse.wst.server.preview.adapter.internal.ui.PreviewLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/IMemento.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/IMemento.java
deleted file mode 100644
index 0eae79b..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/IMemento.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- **********************************************************************/
-package org.eclipse.wst.server.preview.adapter.internal.core;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-	
-	/**
-	 * Returns the floating point value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not a floating point number
-	 */
-	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
-
-	/**
-	 * Returns the integer value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not an integer
-	 */
-	public Integer getInteger(String key);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Returns the boolean value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not a boolean
-	 */
-	public Boolean getBoolean(String key);
-	
-	/**
-	 * Return the list of names.
-	 * 
-	 * @return a possibly empty list of names
-	 */
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Messages.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Messages.java
deleted file mode 100644
index 02386ce..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Messages.java
+++ /dev/null
@@ -1,27 +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.preview.adapter.internal.core;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String canModifyModules;
-	public static String httpPort;
-
-	public static String errorPortInUse;
-	public static String errorPublish;
-
-	static {
-		NLS.initializeMessages(PreviewPlugin.PLUGIN_ID + ".internal.core.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Messages.properties b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Messages.properties
deleted file mode 100644
index e42ed17..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Messages.properties
+++ /dev/null
@@ -1,17 +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
-###############################################################################
-
-httpPort=HTTP Port
-canModifyModules=Web modules can be modified.
-
-errorPublish=Error during publish
-errorPortInUse=Port {0} required by {1} is already in use. The server may already be running in another process, or a system process may be using the port. \
-  To start this server you will need to stop the other process or change the port number(s).
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PingThread.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PingThread.java
deleted file mode 100644
index 55585d0..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PingThread.java
+++ /dev/null
@@ -1,132 +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.preview.adapter.internal.core;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.ServerType;
-/**
- * Thread used to ping server to test when it is started.
- */
-public class PingThread {
-	// delay before pinging starts
-	private static final int PING_DELAY = 2000;
-
-	// delay between pings
-	private static final int PING_INTERVAL = 250;
-
-	// maximum number of pings before giving up
-	private int maxPings;
-
-	private boolean stop = false;
-	private String url;
-	private IServer server;
-	private PreviewServerBehaviour behaviour;
-
-	/**
-	 * Create a new PingThread.
-	 * 
-	 * @param server
-	 * @param url
-	 * @param behaviour
-	 */
-	public PingThread(IServer server, String url, PreviewServerBehaviour behaviour) {
-		super();
-		this.server = server;
-		this.url = url;
-		this.behaviour = behaviour;
-		this.maxPings = guessMaxPings();
-		Thread t = new Thread("Preview Ping Thread") {
-			public void run() {
-				ping();
-			}
-		};
-		t.setDaemon(true);
-		t.start();
-	}
-
-	private int guessMaxPings() {
-		int startTimeout = ((ServerType) server.getServerType()).getStartTimeout();
-		if (startTimeout > 0)
-			return startTimeout / PING_INTERVAL;
-		return -1;
-	}
-
-	/**
-	 * Ping the server until it is started. Then set the server
-	 * state to STATE_STARTED.
-	 */
-	protected void ping() {
-		int count = 0;
-		try {
-			Thread.sleep(PING_DELAY);
-		} catch (Exception e) {
-			// ignore
-		}
-		while (!stop) {
-			try {
-				if (count == maxPings) {
-					try {
-						server.stop(false);
-					} catch (Exception e) {
-						Trace.trace(Trace.FINEST, "Ping: could not stop server");
-					}
-					stop = true;
-					break;
-				}
-				count++;
-				
-				Trace.trace(Trace.FINEST, "Ping: pinging " + count);
-				URL pingUrl = new URL(url);
-				URLConnection conn = pingUrl.openConnection();
-				((HttpURLConnection)conn).getResponseCode();
-	
-				// ping worked - server is up
-				if (!stop) {
-					Trace.trace(Trace.FINEST, "Ping: success");
-					Thread.sleep(200);
-					behaviour.setServerStarted();
-				}
-				stop = true;
-			} catch (FileNotFoundException fe) {
-				try {
-					Thread.sleep(200);
-				} catch (Exception e) {
-					// ignore
-				}
-				behaviour.setServerStarted();
-				stop = true;
-			} catch (Exception e) {
-				Trace.trace(Trace.FINEST, "Ping: failed");
-				// pinging failed
-				if (!stop) {
-					try {
-						Thread.sleep(PING_INTERVAL);
-					} catch (InterruptedException e2) {
-						// ignore
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Tell the pinging to stop.
-	 */
-	public void stop() {
-		Trace.trace(Trace.FINEST, "Ping: stopping");
-		stop = true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
deleted file mode 100644
index 2af4f29..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,187 +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.preview.adapter.internal.core;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.LaunchConfigurationDelegate;
-import org.eclipse.osgi.service.environment.Constants;
-
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.osgi.framework.Bundle;
-/**
- * 
- */
-public class PreviewLaunchConfigurationDelegate extends LaunchConfigurationDelegate {
-	private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
-		"org.apache.commons.logging",
-		"javax.servlet",
-		"javax.servlet.jsp",
-		"org.mortbay.jetty",
-		"org.eclipse.wst.server.preview"
-	};
-
-	private static final String[] fgCandidateJavaFiles = {"javaw", "javaw.exe", "java",
-		"java.exe", "j9w", "j9w.exe", "j9", "j9.exe"};
-	private static final String[] fgCandidateJavaLocations = {"bin" + File.separatorChar,
-		"jre" + File.separatorChar + "bin" + File.separatorChar};
-
-	private static final String MAIN_CLASS = "org.eclipse.wst.server.preview.internal.PreviewStarter";
-
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		IServer server = ServerUtil.getServer(configuration);
-		if (server == null) {
-			Trace.trace(Trace.FINEST, "Launch configuration could not find server");
-			// throw CoreException();
-			return;
-		}
-		
-		PreviewServerBehaviour previewServer = (PreviewServerBehaviour) server.loadAdapter(PreviewServerBehaviour.class, null);
-		
-		int size = REQUIRED_BUNDLE_IDS.length;
-		//String[] jars = new String[size];
-		StringBuffer cp = new StringBuffer();
-		for (int i = 0; i < size; i++) {
-			Bundle b = Platform.getBundle(REQUIRED_BUNDLE_IDS[i]);
-			IPath path = null;
-			if (b != null)
-				path = PreviewRuntime.getJarredPluginPath(b);
-			if (path == null)
-				throw new CoreException(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, "Could not find required bundle " + REQUIRED_BUNDLE_IDS[i]));
-			
-			if (i == 4 && path.append("bin").toFile().exists())
-				path = path.append("bin");
-			
-			if (i > 0)
-				cp.append(File.pathSeparator);
-			cp.append(path.toOSString());
-		}
-		
-		List cmds = new ArrayList();
-		
-		// jre
-		File java = getJavaExecutable();
-		if (java == null)
-			throw new CoreException(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, "Could not find JRE executable"));
-		
-		cmds.add(java.getAbsolutePath());
-		
-		cmds.add("-classpath");
-		cmds.add(cp.toString());
-		
-		cmds.add(MAIN_CLASS);
-		
-		cmds.add(previewServer.getTempDirectory().append("preview.xml").toOSString());
-		
-		//setDefaultSourceLocator(launch, configuration);
-		
-		// launch the configuration
-		previewServer.setupLaunch(launch, mode, monitor);
-		
-		try {
-			String[] cmdLine = new String[cmds.size()];
-			cmds.toArray(cmdLine);
-			Process p = DebugPlugin.exec(cmdLine, null);
-			if (p != null) {
-				IProcess pr = DebugPlugin.newProcess(launch, p, cmdLine[0]);
-				pr.setAttribute(IProcess.ATTR_CMDLINE, renderCommandLine(cmdLine));
-				if (pr != null)
-					launch.addProcess(pr);
-				previewServer.setProcess(pr);
-			}
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Problem creating preview process");
-		}
-	}
-
-	/**
-	 * Prepares the command line from the specified array of strings.
-	 * 
-	 * @param commandLine
-	 * @return the command line string
-	 */
-	protected static String renderCommandLine(String[] commandLine) {
-		if (commandLine.length < 1)
-			return ""; //$NON-NLS-1$
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < commandLine.length; i++) {
-			buf.append(' ');
-			char[] characters= commandLine[i].toCharArray();
-			StringBuffer command= new StringBuffer();
-			boolean containsSpace= false;
-			for (int j = 0; j < characters.length; j++) {
-				char character= characters[j];
-				if (character == '\"') {
-					command.append('\\');
-				} else if (character == ' ') {
-					containsSpace = true;
-				}
-				command.append(character);
-			}
-			if (containsSpace) {
-				buf.append('\"');
-				buf.append(command.toString());
-				buf.append('\"');
-			} else {
-				buf.append(command.toString());
-			}
-		}	
-		return buf.toString();
-	}
-
-	protected static File getJavaExecutable() {
-		// do not detect on the Mac OS
-		if (Platform.getOS().equals(Constants.OS_MACOSX))
-			return null;
-		
-		// retrieve the 'java.home' system property. If that directory doesn't exist, return null
-		File javaHome; 
-		try {
-			javaHome = new File(System.getProperty("java.home")).getCanonicalFile();
-		} catch (IOException e) {
-			return null;
-		}
-		if (!javaHome.exists())
-			return null;
-		
-		// find the 'java' executable file under the java home directory. If it can't be
-		// found, return null
-		return findJavaExecutable(javaHome);
-	}
-
-	protected static File findJavaExecutable(File vmInstallLocation) {
-		// try each candidate in order, the first one found wins. Thus, the order
-		// of fgCandidateJavaLocations and fgCandidateJavaFiles is significant
-		for (int i = 0; i < fgCandidateJavaFiles.length; i++) {
-			for (int j = 0; j < fgCandidateJavaLocations.length; j++) {
-				File javaFile = new File(vmInstallLocation, fgCandidateJavaLocations[j] + fgCandidateJavaFiles[i]);
-				if (javaFile.isFile()) {
-					return javaFile;
-				}				
-			}
-		}		
-		return null;							
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchableAdapterDelegate.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchableAdapterDelegate.java
deleted file mode 100644
index a01d9da..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,52 +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.preview.adapter.internal.core;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.LaunchableAdapterDelegate;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-
-public class PreviewLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	/*
-	 * @see LaunchableAdapterDelegate#getLaunchable(IServer, IModuleArtifact)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact moduleArtifact) throws CoreException {
-		if (server == null || moduleArtifact == null)
-			return null;
-		
-		PreviewServer server2 = (PreviewServer) server.loadAdapter(PreviewServer.class, null);
-		if (server2 == null)
-			return null;
-		
-		try {
-			URL url = server2.getModuleRootURL(moduleArtifact.getModule());
-			
-			if (moduleArtifact instanceof WebResource) {
-				WebResource resource = (WebResource) moduleArtifact;
-				String path = resource.getPath().toString();
-				
-				if (path.startsWith("/"))
-					path = path.substring(1);
-				url = new URL(url.toExternalForm() + "/" + path);
-			}
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error in launchable adapter", e);
-		}
-		
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewPlugin.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewPlugin.java
deleted file mode 100644
index 034ac8e..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewPlugin.java
+++ /dev/null
@@ -1,69 +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.preview.adapter.internal.core;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-/**
- * The HTTP server core plugin.
- */
-public class PreviewPlugin extends Plugin {
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.preview.adapter";
-
-	private static PreviewPlugin plugin;
-
-	/**
-	 * The constructor
-	 */
-	public PreviewPlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 * 
-	 * @return an instance
-	 */
-	public static PreviewPlugin getInstance() {
-		return plugin;
-	}
-
-	/**
-	 * Return the install location preference.
-	 * 
-	 * @param id a runtime type id
-	 * @return the install location
-	 */
-	public static String getPreference(String id) {
-		return getInstance().getPluginPreferences().getString(id);
-	}
-
-	/**
-	 * Set the install location preference.
-	 * 
-	 * @param id the runtimt type id
-	 * @param value the location
-	 */
-	public static void setPreference(String id, String value) {
-		getInstance().getPluginPreferences().setValue(id, value);
-		getInstance().savePluginPreferences();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewRuntime.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewRuntime.java
deleted file mode 100644
index ba0f6f7..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewRuntime.java
+++ /dev/null
@@ -1,73 +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.preview.adapter.internal.core;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.osgi.framework.Bundle;
-/**
- * HTTP preview runtime.
- */
-public class PreviewRuntime extends RuntimeDelegate {
-	public static final String ID = "org.eclipse.wst.server.preview.runtime";
-
-	/**
-	 * Create a new preview runtime.
-	 */
-	public PreviewRuntime() {
-		// do nothing
-	}
-
-	/**
-	 * Returns the path that corresponds to the specified bundle.
-	 * 
-	 * @return a path
-	 */
-	protected static Path getPluginPath(Bundle bundle) {
-		try {
-			URL installURL = bundle.getEntry("/");
-			URL localURL = FileLocator.toFileURL(installURL);
-			return new Path(localURL.getFile());
-		} catch (IOException ioe) {
-			return null;
-		}
-	}
-
-	protected static IPath getJarredPluginPath(Bundle bundle) {
-		Path runtimeLibFullPath = null;
-		String jarPluginLocation = bundle.getLocation().substring(7);
-		
-		// handle case where jars are installed outside of eclipse installation
-		Path jarPluginPath = new Path(jarPluginLocation);
-		if (jarPluginPath.isAbsolute())
-			runtimeLibFullPath = jarPluginPath;
-		// handle normal case where all plugins under eclipse install
-		else {
-			int ind = jarPluginLocation.lastIndexOf(":");
-			if (ind > 0)
-				jarPluginLocation = jarPluginLocation.substring(ind+1);
-			
-			String installPath = Platform.getInstallLocation().getURL().getPath();
-			runtimeLibFullPath = new Path(installPath+"/"+jarPluginLocation);
-		}
-		return runtimeLibFullPath;
-	}
-
-	/**
-	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		getRuntimeWorkingCopy().setLocation(new Path(""));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewServer.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewServer.java
deleted file mode 100644
index b4b892c..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewServer.java
+++ /dev/null
@@ -1,168 +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.preview.adapter.internal.core;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.server.core.IModule;
-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.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-/**
- * HTTP preview server.
- */
-public class PreviewServer extends ServerDelegate implements IURLProvider {
-	public static final String ID = "org.eclipse.wst.server.preview.server";
-
-	public static final String PROPERTY_PORT = "port";
-
-	/**
-	 * PreviewServer.
-	 */
-	public PreviewServer() {
-		super();
-	}
-
-	protected void initialize() {
-		// do nothing
-	}
-
-	public PreviewRuntime getPreviewRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-		
-		return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
-	}
-
-	/**
-	 * Return the root URL of this module.
-	 * 
-	 * @param module a module
-	 * @return java.net.URL
-	 */
-	public URL getModuleRootURL(IModule module) {
-		try {
-			String base = "http://localhost";
-			
-			int port = getPort();
-			URL url = null;
-			if (port == 80)
-				url = new URL(base + "/");
-			else
-				url = new URL(base + ":" + port + "/");
-			
-			String type = module.getModuleType().getId();
-			if ("wst.web".equals(type)) {
-				IStaticWeb staticWeb = (IStaticWeb) module.loadAdapter(IStaticWeb.class, null);
-				return new URL(url, staticWeb.getContextRoot());
-			}
-			return url;
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Could not get root URL", e);
-			return null;
-		}
-	}
-
-	/*
-	 * Returns the child module(s) of this module.
-	 */
-	public IModule[] getChildModules(IModule[] module) {
-		return new IModule[0];
-	}
-
-	/*
-	 * Returns the root module(s) of this module.
-	 */
-	public IModule[] getRootModules(IModule module) throws CoreException {
-		return new IModule[] { module };
-	}
-
-	/**
-	 * Returns true if the given project is supported by this server, and false
-	 * otherwise.
-	 * 
-	 * @param add modules
-	 * @param remove modules
-	 * @return the status
-	 */
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		return new Status(IStatus.OK, PreviewPlugin.PLUGIN_ID, 0, Messages.canModifyModules, null);
-	}
-
-	public ServerPort[] getServerPorts() {
-		int port = getPort();
-		ServerPort[] ports = { new ServerPort("http", Messages.httpPort, port, "http") };
-		return ports;
-	}
-
-	public int getPort() {
-		return getAttribute(PreviewServer.PROPERTY_PORT, 8080);
-	}
-
-	public void setPort(int port) {
-		setAttribute(PreviewServer.PROPERTY_PORT, port);
-	}
-
-	public static IServer createPreviewServer(String serverName) {
-		try {
-			NullProgressMonitor monitor = new NullProgressMonitor();
-			IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
-			IRuntimeWorkingCopy runtimeCopy = runtimeType.createRuntime(PreviewRuntime.ID, monitor);
-			IRuntime runtime = runtimeCopy.save(true, monitor);
-			
-			IServerType serverType = ServerCore.findServerType(ID);
-			IServerWorkingCopy workingCopy = serverType.createServer(ID, null, runtime, monitor);
-			workingCopy.setName(serverName);
-			workingCopy.setHost("localhost");
-			return workingCopy.save(true, monitor);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error creating server", e);
-		}
-		
-		return null;
-	}
-
-	public static IServer findPreviewServer(String id) {
-		IServer[] servers = ServerCore.getServers();
-		for (int i = 0; i < servers.length; i++) {
-			if (servers[i].getId().equals(id)) {
-				return servers[i];
-			}
-		}
-		return null;
-	}
-
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		// do nothing
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "PreviewServer";
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewServerBehaviour.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewServerBehaviour.java
deleted file mode 100644
index 3d63fdd..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewServerBehaviour.java
+++ /dev/null
@@ -1,302 +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.preview.adapter.internal.core;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.util.IStaticWeb;
-import org.eclipse.wst.server.core.util.PublishUtil;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * Generic Http server.
- */
-public class PreviewServerBehaviour extends ServerBehaviourDelegate {
-	// the thread used to ping the server to check for startup
-	protected transient PingThread ping = null;
-	protected transient IProcess process;
-	protected transient IDebugEventSetListener processListener;
-
-	/**
-	 * PreviewServer.
-	 */
-	public PreviewServerBehaviour() {
-		super();
-	}
-
-	public void initialize(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	public PreviewRuntime getPreviewRuntime() {
-		if (getServer().getRuntime() == null)
-			return null;
-
-		return (PreviewRuntime) getServer().getRuntime().loadAdapter(PreviewRuntime.class, null);
-	}
-
-	public PreviewServer getPreviewServer() {
-		return (PreviewServer) getServer().getAdapter(PreviewServer.class);
-	}
-
-	/**
-	 * Returns the runtime base path for relative paths in the server
-	 * configuration.
-	 * 
-	 * @return the base path
-	 */
-	public IPath getRuntimeBaseDirectory() {
-		return getServer().getRuntime().getLocation();
-	}
-
-	/**
-	 * Setup for starting the server.
-	 * 
-	 * @param launch ILaunch
-	 * @param launchMode String
-	 * @param monitor IProgressMonitor
-	 * @throws CoreException if anything goes wrong
-	 */
-	protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-		// check that ports are free
-		ServerPort[] ports = getPreviewServer().getServerPorts();
-		int port = ports[0].getPort();
-		
-		if (SocketUtil.isPortInUse(port, 5))
-			throw new CoreException(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorPortInUse, new String[] {port + "", getServer().getName()}), null));
-		
-		// generate preview config file
-		XMLMemento memento = XMLMemento.createWriteRoot("server");
-		memento.putInteger("port", port);
-		
-		IModule[] modules = getServer().getModules();
-		int size = modules.length;
-		for (int i = 0; i < size; i++) {
-			IMemento mod = memento.createChild("module");
-			mod.putString("name", modules[i].getName());
-			String type = modules[i].getModuleType().getId();
-			if ("wst.web".equals(type)) {
-				IStaticWeb staticWeb = (IStaticWeb) modules[i].loadAdapter(IStaticWeb.class, null);
-				mod.putString("context", staticWeb.getContextRoot());
-				mod.putString("type", "static");
-			}
-			mod.putString("path", getModulePublishDirectory(modules[i]).toPortableString());
-		}
-		try {
-			memento.saveToFile(getTempDirectory().append("preview.xml").toOSString());
-		} catch (IOException e) {
-			Trace.trace(Trace.SEVERE, "Could not write preview config", e);
-			throw new CoreException(new Status(IStatus.ERROR, PreviewPlugin.PLUGIN_ID, 0, "Could not write preview configuration", null));
-		}
-		
-		setServerRestartState(false);
-		setServerState(IServer.STATE_STARTING);
-		setMode(launchMode);
-		
-		// ping server to check for startup
-		try {
-			String url = "http://localhost";
-			if (port != 80)
-				url += ":" + port;
-			ping = new PingThread(getServer(), url, this);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
-		}
-	}
-
-	protected void setProcess(final IProcess newProcess) {
-		if (process != null)
-			return;
-		
-		process = newProcess;
-		if (processListener != null)
-			DebugPlugin.getDefault().removeDebugEventListener(processListener);
-		if (newProcess == null)
-			return;
-		
-		processListener = new IDebugEventSetListener() {
-			public void handleDebugEvents(DebugEvent[] events) {
-				if (events != null) {
-					int size = events.length;
-					for (int i = 0; i < size; i++) {
-						Object obj = events[i].getSource();
-						
-						if (!(obj instanceof IDebugTarget))
-							continue;
-						
-						IDebugTarget target = (IDebugTarget) obj;
-						IProcess targetProcess = target.getProcess();
-						
-						if (process != null && process.equals(targetProcess)
-								&& events[i].getKind() == DebugEvent.TERMINATE) {
-							DebugPlugin.getDefault().removeDebugEventListener(this);
-							stopImpl();
-						}
-					}
-				}
-			}
-		};
-		DebugPlugin.getDefault().addDebugEventListener(processListener);
-	}
-
-	protected void setServerStarted() {
-		setServerState(IServer.STATE_STARTED);
-	}
-
-	protected void stopImpl() {
-		if (ping != null) {
-			ping.stop();
-			ping = null;
-		}
-		if (process != null) {
-			process = null;
-			DebugPlugin.getDefault().removeDebugEventListener(processListener);
-			processListener = null;
-		}
-		setServerState(IServer.STATE_STOPPED);
-	}
-
-	protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
-		monitor = ProgressUtil.getMonitorFor(monitor);
-		monitor.done();
-
-		setServerPublishState(IServer.PUBLISH_STATE_NONE);
-	}
-
-	/*
-	 * Publishes the given module to the server.
-	 */
-	protected void publishModule(int kind, int deltaKind, IModule[] moduleTree, IProgressMonitor monitor) throws CoreException {
-		IModule module = moduleTree[moduleTree.length - 1]; 
-		IPath to = getModulePublishDirectory(module);
-		
-		if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) {
-			IStatus[] status = PublishUtil.deleteDirectory(to.toFile(), monitor);
-			throwException(status);
-		}
-		
-		IModuleResource[] res = getResources(moduleTree);
-		IStatus[] status = PublishUtil.publishSmart(res, to, monitor);
-		throwException(status);
-		
-		setModulePublishState(moduleTree, IServer.PUBLISH_STATE_NONE);
-	}
-
-	/**
-	 * Utility method to throw a CoreException based on the contents of a list of
-	 * error and warning status.
-	 * 
-	 * @param status a List containing error and warning IStatus
-	 * @throws CoreException
-	 */
-	private static void throwException(IStatus[] status) throws CoreException {
-		if (status == null || status.length == 0)
-			return;
-		
-		if (status.length == 1)
-			throw new CoreException(status[0]);
-		
-		String message = Messages.errorPublish;
-		MultiStatus status2 = new MultiStatus(PreviewPlugin.PLUGIN_ID, 0, status, message, null);
-		throw new CoreException(status2);
-	}
-
-	public void restart(String launchMode) throws CoreException {
-		setServerState(IServer.STATE_STOPPED);
-		setServerState(IServer.STATE_STARTED);
-	}
-
-	/**
-	 * Cleanly shuts down and terminates the server.
-	 * 
-	 * @param force <code>true</code> to kill the server
-	 */
-	public void stop(boolean force) {
-		if (force) {
-			terminate();
-			return;
-		}
-		int state = getServer().getServerState();
-		if (state == IServer.STATE_STOPPED)
-			return;
-		else if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-			terminate();
-			return;
-		}
-		
-		// should really try to stop normally
-		terminate();
-	}
-
-	/**
-	 * Terminates the server.
-	 */
-	protected void terminate() {
-		if (getServer().getServerState() == IServer.STATE_STOPPED)
-			return;
-		
-		try {
-			setServerState(IServer.STATE_STOPPING);
-			Trace.trace(Trace.FINEST, "Killing the HTTP process");
-			if (process != null && !process.isTerminated())
-				process.terminate();
-			
-			stopImpl();
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error killing the process", e);
-		}
-	}
-
-	protected IPath getTempDirectory() {
-		return super.getTempDirectory();
-	}
-
-	/**
-	 * Returns the module's publish path.
-	 * 
-	 * @param module a module
-	 * @return the publish directory for the module
-	 */
-	protected IPath getModulePublishDirectory(IModule module) {
-		return getTempDirectory().append(module.getName());
-	}
-
-	/**
-	 * Return a string representation of this object.
-	 * 
-	 * @return java.lang.String
-	 */
-	public String toString() {
-		return "PreviewServer";
-	}
-
-	protected IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
-		return super.getPublishedResourceDelta(module);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewStartup.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewStartup.java
deleted file mode 100644
index 9c5d770..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/PreviewStartup.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.preview.adapter.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-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.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.IStartup;
-
-public class PreviewStartup implements IStartup {
-	private static final String ID = "xyz"; 
-
-	public void startup() {
-		// create runtime
-		IRuntime[] runtimes = ServerCore.getRuntimes();
-		IRuntime runtime = null;
-		
-		int size = runtimes.length;
-		for (int i = 0; i < size; i++) {
-			if (runtimes[i].getRuntimeType() != null && PreviewRuntime.ID.equals(runtimes[i].getRuntimeType().getId())) {
-				if (ID.equals(runtimes[i].getId()))
-					runtime = runtimes[i];
-			}
-		}
-		
-		if (runtime == null) {
-			try {
-				IRuntimeType runtimeType = ServerCore.findRuntimeType(PreviewRuntime.ID);
-				IRuntimeWorkingCopy wc = runtimeType.createRuntime(ID, null);
-				wc.setName("My Preview");
-				wc.setReadOnly(true);
-				runtime = wc.save(true, null);
-			} catch (CoreException ce) {
-				Trace.trace(Trace.WARNING, "Could not create default preview runtime");
-			}
-		}
-		
-		// create server
-		IServer[] servers = ServerCore.getServers();
-		
-		boolean found = false;
-		size = servers.length;
-		for (int i = 0; i < size; i++) {
-			if (servers[i].getServerType() != null && PreviewServer.ID.equals(servers[i].getServerType().getId())) {
-				if (ID.equals(servers[i].getId()))
-					found = true;
-			}
-		}
-		
-		if (!found) {
-			try {
-				IServerType serverType = ServerCore.findServerType(PreviewServer.ID);
-				IServerWorkingCopy wc = serverType.createServer(ID, null, runtime, null);
-				wc.setName("My preview");
-				wc.setHost("localhost");
-				wc.setReadOnly(true);
-				wc.save(true, null);
-			} catch (CoreException ce) {
-				Trace.trace(Trace.WARNING, "Could not create default preview server");
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/ProgressUtil.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/ProgressUtil.java
deleted file mode 100644
index 3a3c51e..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/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.preview.adapter.internal.core;
-
-import org.eclipse.core.runtime.*;
-/**
- * Progress Monitor utility.
- */
-public class ProgressUtil {
-	/**
-	 * ProgressUtil constructor comment.
-	 */
-	private ProgressUtil() {
-		super();
-	}
-
-	/**
-	 * Return a valid progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getMonitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the
-	 * current progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks int
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks);
-	}
-
-	/**
-	 * Return a sub-progress monitor with the given amount on the
-	 * current progress monitor.
-	 *
-	 * @param monitor org.eclipse.core.runtime.IProgressMonitor
-	 * @param ticks a number of ticks
-	 * @param style a style
-	 * @return org.eclipse.core.runtime.IProgressMonitor
-	 */
-	public static IProgressMonitor getSubMonitorFor(IProgressMonitor monitor, int ticks, int style) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks, style);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Trace.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Trace.java
deleted file mode 100644
index 30e71db..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/Trace.java
+++ /dev/null
@@ -1,102 +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.preview.adapter.internal.core;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	public static byte CONFIG = 0;
-	public static byte WARNING = 1;
-	public static byte SEVERE = 2;
-	public static byte FINEST = 3;
-	public static byte FINER = 4;
-	
-	private static final String[] levelNames = new String[] { "CONFIG   ", "WARNING  ",
-		"SEVERE   ", "FINER    ", "FINEST   " };
-
-	private static final String spacer = "                                   ";
-
-	private static final SimpleDateFormat sdf = new SimpleDateFormat(
-			"dd/MM/yy HH:mm.ss.SSS");
-
-	protected static int pluginLength = -1;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 * 
-	 * @param level the trace level
-	 * @param s a message
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level the trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!PreviewPlugin.getInstance().isDebugging())
-			return;
-
-		/*
-		 * System.out.println(ApachePlugin.PLUGIN_ID + " " + s); if (t != null)
-		 * t.printStackTrace();
-		 */
-		trace(PreviewPlugin.PLUGIN_ID, level, s, t);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 * 
-	 * @param level a trace level
-	 * @param s a message
-	 * @param t a throwable
-	 */
-	private static void trace(String pluginId, int level, String s, Throwable t) {
-		if (pluginId == null || s == null)
-			return;
-
-		if (!PreviewPlugin.getInstance().isDebugging())
-			return;
-
-		StringBuffer sb = new StringBuffer(pluginId);
-		if (pluginId.length() > pluginLength)
-			pluginLength = pluginId.length();
-		else if (pluginId.length() < pluginLength)
-			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
-		sb.append(" ");
-		sb.append(levelNames[level]);
-		sb.append(" ");
-		sb.append(sdf.format(new Date()));
-		sb.append(" ");
-		sb.append(s);
-		// Platform.getDebugOption(ServerCore.PLUGIN_ID + "/" + "resources");
-
-		System.out.println(sb.toString());
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/XMLMemento.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/XMLMemento.java
deleted file mode 100644
index 8a18d7b..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/core/XMLMemento.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.server.preview.adapter.internal.core;
-
-import java.io.*;
-import java.util.*;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-/**
- * A Memento is a class independent container for persistence
- * info.  It is a reflection of 3 storage requirements.
- *
- * 1)   We need the ability to persist an object and restore it.  
- * 2)   The class for an object may be absent.  If so we would 
- *      like to skip the object and keep reading. 
- * 3)   The class for an object may change.  If so the new class 
- *      should be able to read the old persistence info.
- *
- * We could ask the objects to serialize themselves into an 
- * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
- * all of these approaches fail to meet the second requirement.
- *
- * Memento supports binary persistance with a version ID.
- */
-public final class XMLMemento implements IMemento {
-	private Document factory;
-	private Element element;
-
-	/**
-	 * Answer a memento for the document and element.  For simplicity
-	 * you should use createReadRoot and createWriteRoot to create the initial
-	 * mementos on a document.
-	 */
-	private XMLMemento(Document doc, Element el) {
-		factory = doc;
-		element = el;
-	}
-
-	/**
-	 * @see IMemento#createChild(String)
-	 */
-	public IMemento createChild(String type) {
-		Element child = factory.createElement(type);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * @see IMemento#createChild(String, String)
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * Create a Document from a Reader and answer a root memento for reading 
-	 * a document.
-	 */
-	protected static XMLMemento createReadRoot(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param type a type
-	 * @return a memento
-	 */
-	public static XMLMemento createWriteRoot(String type) {
-		Document document;
-		try {
-			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-			Element element = document.createElement(type);
-			document.appendChild(element);
-			return new XMLMemento(document, element);            
-		} catch (ParserConfigurationException e) {
-			throw new Error(e);
-		}
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public IMemento getChild(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-	
-		// Find the first node which is a child of this node.
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					return new XMLMemento(factory, element2);
-			}
-		}
-	
-		// A child was not found.
-		return null;
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public IMemento [] getChildren(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return new IMemento[0];
-	
-		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					list.add(element2);
-			}
-		}
-	
-		// Create a memento for each node.
-		size = list.size();
-		IMemento [] results = new IMemento[size];
-		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
-		}
-		return results;
-	}
-
-	/**
-	 * Return the contents of this memento as a byte array.
-	 *
-	 * @return byte[]
-	 * @throws IOException if anything goes wrong
-	 */
-	public byte[] getContents() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toByteArray();
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return java.io.InputStream
-	 * @throws IOException if anything goes wrong
-	 */
-	public InputStream getInputStream() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return new ByteArrayInputStream(out.toByteArray());
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Integer getInteger(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Integer(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	public List getNames() {
-		NamedNodeMap map = element.getAttributes();
-		int size = map.getLength();
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			Node node = map.item(i);
-			String name = node.getNodeName();
-			list.add(name);
-		}
-		return list;
-	}
-
-	/**
-	 * Loads a memento from the given filename.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 * @return a memento
-	 */
-	public static IMemento loadMemento(String filename) throws IOException {
-		InputStream in = null;
-		try {
-			in = new BufferedInputStream(new FileInputStream(filename));
-			return XMLMemento.createReadRoot(in);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to a Writer.
-	 * 
-	 * @param os an output stream
-	 * @throws IOException if anything goes wrong
-	 */
-	public void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
-			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
-			transformer.transform(source, result);
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Saves the memento to the given file.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 */
-	public void saveToFile(String filename) throws IOException {
-		FileOutputStream w = null;
-		try {
-			w = new FileOutputStream(filename);
-			save(w);
-		} catch (IOException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new IOException(e.getLocalizedMessage());
-		} finally {
-			if (w != null) {
-				try {
-					w.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-	
-	/*
-	 * @see IMemento#getBoolean(String)
-	 */
-	public Boolean getBoolean(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		if ("true".equalsIgnoreCase(strValue))
-			return new Boolean(true);
-		return new Boolean(false);
-	}
-
-	/*
-	 * @see IMemento#putBoolean(String, boolean)
-	 */
-	public void putBoolean(String key, boolean value) {
-		element.setAttribute(key, value ? "true" : "false");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java b/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java
deleted file mode 100644
index d56961e..0000000
--- a/plugins/org.eclipse.wst.server.preview.adapter/src/org/eclipse/wst/server/preview/adapter/internal/ui/PreviewLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,35 +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.preview.adapter.internal.ui;
-
-import org.eclipse.debug.ui.*;
-
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-/**
- * A debug tab group for launching Tomcat. 
- */
-public class PreviewLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
-	/*
-	 * @see ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[2];
-		tabs[0] = new ServerLaunchConfigurationTab(new String[] { "org.eclipse.wst.server.preview" });
-		tabs[0].setLaunchConfigurationDialog(dialog);
-		/*tabs[1] = new SourceLookupTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		tabs[2] = new EnvironmentTab();
-		tabs[2].setLaunchConfigurationDialog(dialog);*/
-		tabs[1] = new CommonTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/.classpath b/plugins/org.eclipse.wst.server.preview/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/plugins/org.eclipse.wst.server.preview/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.server.preview/.cvsignore b/plugins/org.eclipse.wst.server.preview/.cvsignore
deleted file mode 100644
index 36a2b74..0000000
--- a/plugins/org.eclipse.wst.server.preview/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-build.xml
-org.eclipse.wst.server.core_3.0.0.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.server.preview/.options b/plugins/org.eclipse.wst.server.preview/.options
deleted file mode 100644
index b7f8390..0000000
--- a/plugins/org.eclipse.wst.server.preview/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.wst.server.preview plugin
-
-# Turn on general debugging
-org.eclipse.wst.server.preview/debug=true
diff --git a/plugins/org.eclipse.wst.server.preview/.project b/plugins/org.eclipse.wst.server.preview/.project
deleted file mode 100644
index 7ad37a7..0000000
--- a/plugins/org.eclipse.wst.server.preview/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.server.preview</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.preview/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c8be432..0000000
--- a/plugins/org.eclipse.wst.server.preview/.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.preview/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c6a69e9..0000000
--- a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Tue Jan 16 16:59:15 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=error
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,*.testsuite,*.deploy,*.location,*.execution,*.datapool,*.artifact,*.html,*.svg
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=disabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-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=warning
-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=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=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=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=warning
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 584bdff..0000000
--- a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri Nov 10 18:06:11 HST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>
diff --git a/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.wst.server.preview/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 08a60e5..0000000
--- a/plugins/org.eclipse.wst.server.preview/.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.preview/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF
deleted file mode 100644
index 9aa19df..0000000
--- a/plugins/org.eclipse.wst.server.preview/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.server.preview; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.wst.server.preview.internal.PreviewServerPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.server.preview.internal
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.mortbay.jetty;bundle-version="[5.1.11,6.0.0)",
- org.apache.commons.logging;bundle-version="[1.0.4,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/plugins/org.eclipse.wst.server.preview/about.html b/plugins/org.eclipse.wst.server.preview/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.wst.server.preview/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 06, 2007</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.preview/build.properties b/plugins/org.eclipse.wst.server.preview/build.properties
deleted file mode 100644
index 9579346..0000000
--- a/plugins/org.eclipse.wst.server.preview/build.properties
+++ /dev/null
@@ -1,19 +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
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               META-INF/,\
-               about.html
-bin.excludes = bin/**,\
-               @dot/**,\
-               temp.folder/**
-source.. = src/
diff --git a/plugins/org.eclipse.wst.server.preview/plugin.properties b/plugins/org.eclipse.wst.server.preview/plugin.properties
deleted file mode 100644
index 46a080b..0000000
--- a/plugins/org.eclipse.wst.server.preview/plugin.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-pluginName=Preview Server Support
-providerName=Eclipse.org
diff --git a/plugins/org.eclipse.wst.server.preview/plugin.xml b/plugins/org.eclipse.wst.server.preview/plugin.xml
deleted file mode 100644
index a2e804c..0000000
--- a/plugins/org.eclipse.wst.server.preview/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-   <extension id="preview"
-         point="org.eclipse.core.runtime.applications">
-      <application visible="false">
-         <run class="org.eclipse.wst.server.preview.internal.PreviewApplication"/>
-      </application>
-   </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/IMemento.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/IMemento.java
deleted file mode 100644
index 7992520..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/IMemento.java
+++ /dev/null
@@ -1,194 +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.preview.internal;
-
-import java.util.List;
-/**
- * Interface to a memento used for saving the important state of an object
- * in a form that can be persisted in the file system.
- * <p>
- * Mementos were designed with the following requirements in mind:
- * <ol>
- *  <li>Certain objects need to be saved and restored across platform sessions.
- *    </li>
- *  <li>When an object is restored, an appropriate class for an object might not
- *    be available. It must be possible to skip an object in this case.</li>
- *  <li>When an object is restored, the appropriate class for the object may be
- *    different from the one when the object was originally saved. If so, the
- *    new class should still be able to read the old form of the data.</li>
- * </ol>
- * </p>
- * <p>
- * Mementos meet these requirements by providing support for storing a
- * mapping of arbitrary string keys to primitive values, and by allowing
- * mementos to have other mementos as children (arranged into a tree).
- * A robust external storage format based on XML is used.
- * </p><p>
- * The key for an attribute may be any alpha numeric value.  However, the
- * value of <code>TAG_ID</code> is reserved for internal use.
- * </p><p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IMemento {
-	/**
-	 * Special reserved key used to store the memento id 
-	 * (value <code>"org.eclipse.ui.id"</code>).
-	 *
-	 * @see #getId
-	 */
-	public static final String TAG_ID = "IMemento.internal.id"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new child of this memento with the given type.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @return a new child memento
-	 * @see #getChild
-	 * @see #getChildren
-	 */
-	public IMemento createChild(String type);
-	
-	/**
-	 * Creates a new child of this memento with the given type and id.
-	 * The id is stored in the child memento (using a special reserved
-	 * key, <code>TAG_ID</code>) and can be retrieved using <code>getId</code>.
-	 * <p>
-	 * The <code>getChild</code> and <code>getChildren</code> methods
-	 * are used to retrieve children of a given type.
-	 * </p>
-	 *
-	 * @param type the type
-	 * @param id the child id
-	 * @return a new child memento with the given type and id
-	 * @see #getId
-	 */
-	public IMemento createChild(String type, String id);
-	
-	/**
-	 * Returns the first child with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the first child with the given type
-	 */
-	public IMemento getChild(String type);
-	
-	/**
-	 * Returns all children with the given type id.
-	 *
-	 * @param type the type id
-	 * @return the list of children with the given type
-	 */
-	public IMemento[] getChildren(String type);
-	
-	/**
-	 * Returns the floating point value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not a floating point number
-	 */
-	public Float getFloat(String key);
-	
-	/**
-	 * Returns the id for this memento.
-	 *
-	 * @return the memento id, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the name for this memento.
-	 *
-	 * @return the memento name, or <code>null</code> if none
-	 * @see #createChild(java.lang.String,java.lang.String)
-	 */
-	public String getName();
-
-	/**
-	 * Returns the integer value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *   but was not an integer
-	 */
-	public Integer getInteger(String key);
-
-	/**
-	 * Returns the string value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not an integer
-	 */
-	public String getString(String key);
-
-	/**
-	 * Returns the boolean value of the given key.
-	 *
-	 * @param key the key
-	 * @return the value, or <code>null</code> if the key was not found or was found
-	 *  but was not a boolean
-	 */
-	public Boolean getBoolean(String key);
-	
-	/**
-	 * Return the list of names.
-	 * 
-	 * @return a possibly empty list of names
-	 */
-	public List getNames();
-	
-	/**
-	 * Sets the value of the given key to the given floating point number.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putFloat(String key, float value);
-	
-	/**
-	 * Sets the value of the given key to the given integer.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putInteger(String key, int value);
-	
-	/**
-	 * Sets the value of the given key to the given boolean value.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putBoolean(String key, boolean value);
-
-	/**
-	 * Copy the attributes and children from  <code>memento</code>
-	 * to the receiver.
-	 *
-	 * @param memento the IMemento to be copied.
-	 */
-	public void putMemento(IMemento memento);
-
-	/**
-	 * Sets the value of the given key to the given string.
-	 *
-	 * @param key the key
-	 * @param value the value
-	 */
-	public void putString(String key, String value);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Messages.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Messages.java
deleted file mode 100644
index d0d3b8a..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Messages.java
+++ /dev/null
@@ -1,41 +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.preview.internal;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * Translated messages.
- */
-public class Messages extends NLS {
-	public static String errorLocation;
-	public static String errorJRE;
-	public static String classpathContainerDescription;
-	public static String classpathContainer;
-	public static String classpathContainerUnbound;
-
-	public static String copyingTask;
-	public static String deletingTask;
-	public static String errorCopyingFile;
-	public static String errorCreatingZipFile;
-	public static String errorDelete;
-	public static String errorRename;
-	public static String errorReading;
-	public static String updateClasspathContainers;
-	public static String errorNoRuntime;
-	public static String errorFacet;
-	public static String errorDeleting;
-	public static String errorNotADirectory;
-	public static String errorMkdir;
-
-	static {
-		NLS.initializeMessages(PreviewServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Messages.properties b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Messages.properties
deleted file mode 100644
index 185c621..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Messages.properties
+++ /dev/null
@@ -1,32 +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
-###############################################################################
-
-classpathContainerDescription=Server Library
-classpathContainer={0} [{1}]
-classpathContainerUnbound={0} [{1}] (unbound)
-
-errorLocation=Invalid location.
-errorJRE=Invalid JRE.
-
-copyingTask=Copying from {0} to {1}
-deletingTask=Deleting {0}
-errorCopyingFile=Error copying file {0}: {1}
-errorCreatingZipFile=Error creating zip file {0}: {1}
-errorDelete=Could not delete previous copy, which may be locked by another process.
-errorRename=Could not replace with temp file {0}.
-errorReading=Error reading file {0}
-errorNoRuntime=Cannot verify facets because there is no runtime associated with the server.
-errorFacet=Project facet {0} version {1} is not supported.
-errorDeleting=Could not delete {0}. May be locked by another process.
-errorNotADirectory=Could not delete {0} since it is not a directory.
-errorMkdir=Could not create directory {0}.
-
-updateClasspathContainers=Updating classpath container for {0}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Module.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Module.java
deleted file mode 100644
index 7828b9f..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Module.java
+++ /dev/null
@@ -1,177 +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.preview.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-/**
- * 
- */
-public class Module {
-	private String name;
-	private boolean isStatic;
-	private String context;
-	private String projectPath;
-	protected String contextRoot;
-	private Servlet[] servlets;
-	protected IPath[] outputPaths;
-
-	public Module(String name, boolean isStatic, String context, String projectPath) {
-		this.name = name;
-		this.isStatic = isStatic;
-		this.context = context;
-		this.projectPath = projectPath;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public boolean isStaticWeb() {
-		return isStatic;
-	}
-
-	public String getContext() {
-		return context;
-	}
-
-	public String getPath() {
-		return projectPath;
-	}
-
-	public void initialize() {
-		loadComponentFile();
-		loadWebDD();
-	}
-
-	private void loadWebDD() {
-		File f = findWebDD().toFile();
-		
-		if (!f.exists()) {
-			System.err.println("Could not find web.xml");
-			return;
-		}
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(f);
-			
-			IMemento[] servlets2 = memento.getChildren("servlet");
-			int size = servlets.length;
-			List list = new ArrayList(size);
-			for (int i = 0; i < size; i++) {
-				Servlet s = new Servlet();
-				IMemento m = servlets2[i].getChild("servlet-name");
-				s.name = m.getName().trim();
-				m = servlets2[i].getChild("servlet-class");
-				s.name = m.getName().trim();
-			}
-			
-			IMemento[] mappings = memento.getChildren("servlet-mapping");
-			size = mappings.length;
-			for (int i = 0; i < size; i++) {
-				IMemento m = mappings[i].getChild("servlet-name");
-				Servlet s = null;
-				m = mappings[i].getChild("url-pattern");
-				s.urlPattern = m.getName().trim();
-			}
-			
-			servlets = new Servlet[list.size()];
-			list.toArray(servlets);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	private void loadComponentFile() {
-		File f = new Path(projectPath).append(".settings").append(".component").toFile();
-		
-		if (!f.exists()) {
-			System.err.println("Could not find component file");
-			return;
-		}
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(f);
-			
-			// project-modules
-			// wb-module
-			// <wb-resource deploy-path="/" source-path="/WebContent"/>
-			// <property name="context-root" value="UKWeb"/>
-			// <property name="java-output-path" value="/build/classes/"/>
-			/*
-	        <dependent-module deploy-path="/WEB-INF/lib" handle="module:/resource/MyUtils/MyUtils">
-	            <dependency-type>uses</dependency-type>
-	        </dependent-module>
-	        */
-			
-			IMemento module = memento.getChild("wb-module");
-			
-			IMemento[] resources = module.getChildren("wb-resource");
-			int size = resources.length;
-			//List list = new ArrayList(size);
-			for (int i = 0; i < size; i++) {
-				// TODO
-			}
-			
-			IMemento[] dependent = module.getChildren("dependent-module");
-			size = dependent.length;
-			//List list = new ArrayList(size);
-			for (int i = 0; i < size; i++) {
-				// TODO
-			}
-			
-			// get context root
-			IMemento[] properties = module.getChildren("property");
-			size = properties.length;
-			for (int i = 0; i < size; i++) {
-				String name2 = properties[i].getString("name");
-				if ("context-root".equals(name2))
-					contextRoot = properties[i].getString("value");
-				else if ("java-output-path".equals(name2))
-					outputPaths = new IPath[] { new Path(projectPath).append(properties[i].getString("value")) };
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	private IPath findWebDD() {
-		int size = outputPaths.length;
-		for (int i = 0; i < size; i++) {
-			IPath path = outputPaths[i].append("WEB-INF").append("web.xml");
-			if (path.toFile().exists())
-				return path;
-		}
-		return null;
-	}
-
-	public ClassLoader getClassloader() {
-		File f = new Path(projectPath).append("config").toFile();
-		
-		if (!f.exists()) {
-			System.err.println("Config doesn't exist at " + projectPath);
-			return null;
-		}
-		
-		try {
-			IMemento memento = XMLMemento.loadMemento(f);
-			memento.getChildren("modules");
-			
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewApplication.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewApplication.java
deleted file mode 100644
index 2bfcf6c..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewApplication.java
+++ /dev/null
@@ -1,28 +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.preview.internal;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-public class PreviewApplication implements IApplication {
-	protected PreviewStarter starter;
-
-	public Object start(IApplicationContext appContext) throws Exception {
-		starter = new PreviewStarter(null);
-		starter.run();
-		return EXIT_OK;
-	}
-
-	public void stop() {
-		starter.stop();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewServerPlugin.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewServerPlugin.java
deleted file mode 100644
index 5e9d2bd..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewServerPlugin.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.preview.internal;
-
-import org.eclipse.core.runtime.*;
-import org.osgi.framework.BundleContext;
-/**
- * 
- */
-public class PreviewServerPlugin extends Plugin {
-	public static final String PLUGIN_ID = "org.eclipse.wst.server.preview";
-
-	// singleton instance of this class
-	private static PreviewServerPlugin singleton;
-
-	protected BundleContext context;
-
-	/**
-	 * Create the JavaServerPlugin.
-	 */
-	public PreviewServerPlugin() {
-		super();
-		singleton = this;
-	}
-
-	/**
-	 * Returns the singleton instance of this plugin.
-	 *
-	 * @return a singleton instance
-	 */
-	public static PreviewServerPlugin getInstance() {
-		return singleton;
-	}
-
-	/**
-	 * @see Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context2) throws Exception {
-		super.start(context2);
-		context = context2;
-	}
-
-	/**
-	 * @see Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context2) throws Exception {
-		super.stop(context2);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewStarter.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewStarter.java
deleted file mode 100644
index 58d0d6e..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/PreviewStarter.java
+++ /dev/null
@@ -1,154 +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.preview.internal;
-
-import java.io.File;
-import java.util.logging.Filter;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
-import org.mortbay.http.HttpContext;
-import org.mortbay.http.handler.ResourceHandler;
-import org.mortbay.jetty.*;
-import org.mortbay.jetty.servlet.WebApplicationContext;
-
-public class PreviewStarter {
-	private static final String[] avertedLogs = new String[] {
-		"org.mortbay.util.Container", "org.mortbay.http.HttpServer",
-		"org.mortbay.util.Credential", "org.mortbay.http.SocketListener",
-		"org.mortbay.http.HttpServer", "org.mortbay.jetty.Server"
-	};
-
-	protected String configPath;
-	protected Server server;
-
-	public PreviewStarter(String configPath) {
-		this.configPath = configPath;
-	}
-
-	public static void main(String[] args) {
-		PreviewStarter app = new PreviewStarter(args[0]);
-		app.run();
-	}
-
-	protected void run() {
-		System.out.println("Starting preview server");
-		System.out.println();
-		try {
-			ServerConfig config = new ServerConfig(configPath);
-			System.out.println("Port " + config.getPort());
-			Module[] m = config.getModules();
-			int size = m.length;
-			if (size > 0) {
-				System.out.println("Modules:");
-				for (int i = 0; i < size; i++) {
-					System.out.println("  " + m[i].getName());
-				}
-				System.out.println();
-			}
-			
-			for (int i = 0; i < avertedLogs.length; i++) {
-				Logger logger = Logger.getLogger(avertedLogs[i]);
-				logger.setFilter(new Filter() {
-					public boolean isLoggable(LogRecord record) {
-						//Trace.trace(Trace.FINEST, "Averted Jetty log: " + record.getMessage());
-						//System.out.println("averted: " + record.getLoggerName() + ": " + record.getMessage());
-						return false;
-					}
-				});
-			}
-			
-			// helper code to find jetty loggers
-			/*Logger logger = Logger.getLogger("org.mortbay.http.HttpServer");
-			logger.addHandler(new java.util.logging.Handler() {
-				public void close() throws SecurityException {
-					// ignore
-				}
-
-				public void flush() {
-					// ignore
-				}
-
-				public void publish(LogRecord record) {
-					System.out.println("Logger found: " + record.getLoggerName());
-				}
-			});*/
-			
-			server = new Server();
-			server.addListener(":" + config.getPort());
-			server.setTrace(false);
-			server.setStatsOn(false);
-			
-			HttpContext context2 = new HttpContext();
-			context2.setContextPath("/");
-			context2.addHandler(new WTPErrorPageHandler());
-			context2.setAttribute(HttpContext.__ErrorHandler, new WTPErrorPageHandler());
-			server.addContext(context2);
-			server.setRootWebApp("/");
-			
-			for (int i = 0; i < size; i++) {
-				Module module = m[i];
-				if (module.isStaticWeb()) {
-					HttpContext context = new HttpContext();
-					context.setContextPath(module.getContext());
-					context.setResourceBase(module.getPath());
-					context.addHandler(new ResourceHandler());
-					context.addHandler(new WTPErrorPageHandler());
-					context.setAttribute(HttpContext.__ErrorHandler, new WTPErrorPageHandler());
-					server.addContext(context);
-				} else {
-					WebApplicationContext context = server.addWebApplication(module.getContext(), module.getPath());
-					//context.getWebApplicationHandler();
-					//context.addHandler(new WTPErrorPageHandler());
-					context.setAttribute(HttpContext.__ErrorHandler, new WTPErrorPageHandler());
-				}
-			}
-			
-			try {
-				server.start();
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		} catch (Throwable e) {
-			e.printStackTrace();
-		}
-	}
-
-	public void stop() {
-		try {
-			System.out.println("Stop!");
-			server.stop();
-			//File contextWorkDir = new File(workDir, DIR_PREFIX + pid.hashCode());
-			//deleteDirectory(contextWorkDir);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * deleteDirectory is a convenience method to recursively delete a directory
-	 * @param directory - the directory to delete.
-	 * @return was the delete succesful
-	 */
-	protected static boolean deleteDirectory(File directory) {
-		if (directory.exists() && directory.isDirectory()) {
-			File[] files = directory.listFiles();
-			for (int i = 0; i < files.length; i++) {
-				if (files[i].isDirectory()) {
-					deleteDirectory(files[i]);
-				} else {
-					files[i].delete();
-				}
-			}
-		}
-		return directory.delete();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/ServerConfig.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/ServerConfig.java
deleted file mode 100644
index b1745c1..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/ServerConfig.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.preview.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ServerConfig {
-	private String configPath;
-	private Module[] modules;
-	private int port = 8080;
-
-	public ServerConfig(String configPath) {
-		this.configPath = configPath;
-		init();
-	}
-
-	private void init() {
-		File f = new File(configPath);
-		if (!f.exists())
-			System.err.println("Config doesn't exist at " + configPath);
-		else {
-			try {
-				IMemento memento = XMLMemento.loadMemento(f);
-				Integer prt = memento.getInteger("port");
-				if (prt != null)
-					port = prt.intValue();
-				
-				IMemento[] modules2 = memento.getChildren("module");
-				int size = modules2.length;
-				List list = new ArrayList(size);
-				for (int i = 0; i < size; i++) {
-					String name = modules2[i].getString("name");
-					boolean isStatic = "static".equals(modules2[i].getString("type"));
-					String path = modules2[i].getString("path");
-					String context = modules2[i].getString("context");
-					Module module = new Module(name, isStatic, context, path);
-					list.add(module);
-				}
-				
-				modules = new Module[list.size()];
-				list.toArray(modules);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-	}
-
-	public int getPort() {
-		return port;
-	}
-
-	public Module[] getModules() {
-		return modules;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Servlet.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Servlet.java
deleted file mode 100644
index 8b166ca..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Servlet.java
+++ /dev/null
@@ -1,17 +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.preview.internal;
-
-public class Servlet {
-	protected String name;
-	protected String className;
-	protected String urlPattern;
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Trace.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Trace.java
deleted file mode 100644
index 8a86d64..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/Trace.java
+++ /dev/null
@@ -1,67 +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.preview.internal;
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Config tracing
-	 */
-	public static final byte CONFIG = 0;
-	/**
-	 * Warning tracing
-	 */
-	public static final byte WARNING = 1;
-	/**
-	 * Severe tracing
-	 */
-	public static final byte SEVERE = 2;
-	/**
-	 * Finest tracing
-	 */
-	public static final byte FINEST = 3;
-
-	public static final byte PUBLISHING = 4;
-
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-
-	/**
-	 * Trace the given text.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-
-	/**
-	 * Trace the given message and exception.
-	 *
-	 * @param level trace level
-	 * @param s String
-	 * @param t Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!PreviewServerPlugin.getInstance().isDebugging())
-			return;
-		
-		System.out.println(PreviewServerPlugin.PLUGIN_ID + " " + s);
-		if (t != null)
-			t.printStackTrace();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/WTPErrorPageHandler.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/WTPErrorPageHandler.java
deleted file mode 100644
index e679edb..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/WTPErrorPageHandler.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.preview.internal;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.net.URLDecoder;
-
-import org.mortbay.http.HttpException;
-import org.mortbay.http.HttpFields;
-import org.mortbay.http.HttpRequest;
-import org.mortbay.http.HttpResponse;
-import org.mortbay.http.handler.AbstractHttpHandler;
-import org.mortbay.util.ByteArrayISO8859Writer;
-import org.mortbay.util.StringUtil;
-
-public class WTPErrorPageHandler extends AbstractHttpHandler {
-	private static final long serialVersionUID = 1L;
-
-	public void handle(String pathInContext, String pathParams, HttpRequest request,
-			HttpResponse response) throws HttpException, IOException {
-		response.setContentType(HttpFields.__TextHtml);
-		ByteArrayISO8859Writer writer = new ByteArrayISO8859Writer(2048);
-		writeErrorPage(request, writer, response.getStatus(), response.getReason());
-		
-		// workaround for IE, which overrides 404 errors to present its own page
-		if (response.getStatus() == 404)
-			response.setStatus(200, "OK"); 
-		
-		writer.flush();
-		response.setContentLength(writer.size());
-		writer.writeTo(response.getOutputStream());
-		writer.destroy();
-	}
-
-	protected void writeErrorPage(HttpRequest request, Writer writer, int code,
-			String message) throws IOException {
-		if (message != null) {
-			message = URLDecoder.decode(message, "UTF-8");
-			message = StringUtil.replace(message, "<", "&lt;");
-			message = StringUtil.replace(message, ">", "&gt;");
-		}
-		String uri = request.getPath();
-		uri = StringUtil.replace(uri, "<", "&lt;");
-		uri = StringUtil.replace(uri, ">", "&gt;");
-		writer.write("<html>\n<head>\n<title>Error ");
-		writer.write(Integer.toString(code));
-		writer.write(' ');
-		writer.write(message);
-		writer.write("</title>\n</head>\n<body>\n<h2>HTTP ERROR: ");
-		writer.write(Integer.toString(code));
-		writer.write("</h2><pre>");
-		writer.write(message);
-		writer.write("</pre>\n");
-		writer.write("<p>RequestURI=");
-		writer.write(uri);
-		writer.write("</p>");
-		writer.write("\n</body>\n</html>\n");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/XMLMemento.java b/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/XMLMemento.java
deleted file mode 100644
index a6b4bfb..0000000
--- a/plugins/org.eclipse.wst.server.preview/src/org/eclipse/wst/server/preview/internal/XMLMemento.java
+++ /dev/null
@@ -1,400 +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.preview.internal;
-
-import java.io.*;
-import java.util.*;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-/**
- * A Memento is a class independent container for persistence
- * info.  It is a reflection of 3 storage requirements.
- *
- * 1)   We need the ability to persist an object and restore it.  
- * 2)   The class for an object may be absent.  If so we would 
- *      like to skip the object and keep reading. 
- * 3)   The class for an object may change.  If so the new class 
- *      should be able to read the old persistence info.
- *
- * We could ask the objects to serialize themselves into an 
- * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
- * all of these approaches fail to meet the second requirement.
- *
- * Memento supports binary persistance with a version ID.
- */
-public final class XMLMemento implements IMemento {
-	private Document factory;
-	private Element element;
-
-	/**
-	 * Answer a memento for the document and element.  For simplicity
-	 * you should use createReadRoot and createWriteRoot to create the initial
-	 * mementos on a document.
-	 */
-	private XMLMemento(Document doc, Element el) {
-		factory = doc;
-		element = el;
-	}
-
-	/**
-	 * @see IMemento#createChild(String)
-	 */
-	public IMemento createChild(String type) {
-		Element child = factory.createElement(type);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * @see IMemento#createChild(String, String)
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-
-	/**
-	 * Create a Document from a Reader and answer a root memento for reading 
-	 * a document.
-	 */
-	protected static XMLMemento createReadRoot(InputStream in) {
-		Document document = null;
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder parser = factory.newDocumentBuilder();
-			document = parser.parse(new InputSource(in));
-			Node node = document.getFirstChild();
-			if (node instanceof Element)
-				return new XMLMemento(document, (Element) node);
-		} catch (Exception e) {
-			// ignore
-		} finally {
-			try {
-				in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Answer a root memento for writing a document.
-	 * 
-	 * @param type a type
-	 * @return a memento
-	 */
-	public static XMLMemento createWriteRoot(String type) {
-		Document document;
-		try {
-			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-			Element element = document.createElement(type);
-			document.appendChild(element);
-			return new XMLMemento(document, element);            
-		} catch (ParserConfigurationException e) {
-			throw new Error(e);
-		}
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public IMemento getChild(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return null;
-	
-		// Find the first node which is a child of this node.
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					return new XMLMemento(factory, element2);
-			}
-		}
-	
-		// A child was not found.
-		return null;
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public IMemento [] getChildren(String type) {
-		// Get the nodes.
-		NodeList nodes = element.getChildNodes();
-		int size = nodes.getLength();
-		if (size == 0)
-			return new IMemento[0];
-	
-		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
-		for (int nX = 0; nX < size; nX ++) {
-			Node node = nodes.item(nX);
-			if (node instanceof Element) {
-				Element element2 = (Element)node;
-				if (element2.getNodeName().equals(type))
-					list.add(element2);
-			}
-		}
-	
-		// Create a memento for each node.
-		size = list.size();
-		IMemento [] results = new IMemento[size];
-		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
-		}
-		return results;
-	}
-
-	/**
-	 * Return the contents of this memento as a byte array.
-	 *
-	 * @return byte[]
-	 * @throws IOException if anything goes wrong
-	 */
-	public byte[] getContents() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return out.toByteArray();
-	}
-
-	/**
-	 * Returns an input stream for writing to the disk with a local locale.
-	 *
-	 * @return java.io.InputStream
-	 * @throws IOException if anything goes wrong
-	 */
-	public InputStream getInputStream() throws IOException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		save(out);
-		return new ByteArrayInputStream(out.toByteArray());
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getId() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public String getName() {
-		return element.getNodeName();
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public Integer getInteger(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Integer(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public String getString(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		return attr.getValue();
-	}
-	
-	public List getNames() {
-		NamedNodeMap map = element.getAttributes();
-		int size = map.getLength();
-		List list = new ArrayList();
-		for (int i = 0; i < size; i++) {
-			Node node = map.item(i);
-			String name = node.getNodeName();
-			list.add(name);
-		}
-		return list;
-	}
-
-	/**
-	 * Loads a memento from the given file.
-	 *
-	 * @param file a file
-	 * @exception java.io.IOException
-	 * @return a memento
-	 */
-	public static IMemento loadMemento(File file) throws IOException {
-		InputStream in = null;
-		try {
-			in = new BufferedInputStream(new FileInputStream(file));
-			return XMLMemento.createReadRoot(in);
-		} finally {
-			try {
-				if (in != null)
-					in.close();
-			} catch (Exception e) {
-				// ignore
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-		
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-
-	/*
-	 * @see IMemento
-	 */
-	public void putString(String key, String value) {
-		if (value == null)
-			return;
-		element.setAttribute(key, value);
-	}
-	
-	/**
-	 * Save this Memento to a Writer.
-	 * 
-	 * @param os an output stream
-	 * @throws IOException if anything goes wrong
-	 */
-	public void save(OutputStream os) throws IOException {
-		Result result = new StreamResult(os);
-		Source source = new DOMSource(factory);
-		try {
-			Transformer transformer = TransformerFactory.newInstance().newTransformer();
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");
-			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
-			transformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2");
-			transformer.transform(source, result);
-		} catch (Exception e) {
-			throw (IOException) (new IOException().initCause(e));
-		}
-	}
-
-	/**
-	 * Saves the memento to the given file.
-	 *
-	 * @param filename java.lang.String
-	 * @exception java.io.IOException
-	 */
-	public void saveToFile(String filename) throws IOException {
-		FileOutputStream w = null;
-		try {
-			w = new FileOutputStream(filename);
-			save(w);
-		} catch (IOException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new IOException(e.getLocalizedMessage());
-		} finally {
-			if (w != null) {
-				try {
-					w.close();
-				} catch (Exception e) {
-					// ignore
-				}
-			}
-		}
-	}
-	
-	/*
-	 * @see IMemento#getBoolean(String)
-	 */
-	public Boolean getBoolean(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null;
-		String strValue = attr.getValue();
-		if ("true".equalsIgnoreCase(strValue))
-			return new Boolean(true);
-		return new Boolean(false);
-	}
-
-	/*
-	 * @see IMemento#putBoolean(String, boolean)
-	 */
-	public void putBoolean(String key, boolean value) {
-		element.setAttribute(key, value ? "true" : "false");
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/.classpath b/plugins/org.eclipse.wst.server.ui/.classpath
index 8bcabf4..859bd32 100644
--- a/plugins/org.eclipse.wst.server.ui/.classpath
+++ b/plugins/org.eclipse.wst.server.ui/.classpath
@@ -1,7 +1,7 @@
 <?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.4"/>
+	<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/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.server.ui/.settings/org.eclipse.jdt.core.prefs
index e026b11..2920850 100644
--- 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
@@ -1,30 +1,31 @@
-#Fri Feb 23 21:14:09 EST 2007
+#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=abort
+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=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+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.4
+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=ignore
+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=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
@@ -33,7 +34,7 @@
 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=ignore
+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
@@ -41,13 +42,15 @@
 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=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+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
@@ -62,13 +65,13 @@
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.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.4
+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/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
index fbfd508..81e5777 100644
--- a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.server.ui; singleton:=true
-Bundle-Version: 1.0.205.qualifier
+Bundle-Version: 1.0.305.qualifier
 Bundle-Activator: org.eclipse.wst.server.ui.internal.ServerUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -31,11 +31,13 @@
  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,1.1.0)",
  org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.103,1.1.0)",
- org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.common.project.facet.ui;resolution:=optional;bundle-version="[1.1.0,2.0.0)"
+ org.eclipse.update.core;bundle-version="[3.2.0,4.0.0)";resolution:=optional,
+ 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
 Eclipse-LazyStart: true; exceptions="org.eclipse.wst.server.ui.internal.webbrowser"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.server.ui/icons/dtool16/clear.gif b/plugins/org.eclipse.wst.server.ui/icons/dtool16/clear.gif
new file mode 100644
index 0000000..6775edf
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/icons/dtool16/clear.gif
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
new file mode 100644
index 0000000..af30a42
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/icons/etool16/clear.gif
Binary files differ
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.properties b/plugins/org.eclipse.wst.server.ui/plugin.properties
index 00d1db6..9c30d17 100644
--- a/plugins/org.eclipse.wst.server.ui/plugin.properties
+++ b/plugins/org.eclipse.wst.server.ui/plugin.properties
@@ -37,6 +37,7 @@
 actionRunOnServer=Run on Server
 actionDebugOnServer=Debug on Server
 actionProfileOnServer=Profile on Server
+actionPublish=Publish
 
 # --------------- Preferences and Property pages ---------------
 
@@ -46,7 +47,7 @@
 preferenceServerKeywords=servers runtime environment build installed publishing deploy assembly launching running debugging profiling
 
 propertiesServer=Server
-propertiesServerInfo=Info
+propertiesServerInfo=General
 propertiesMonitor=Monitoring
 
 # --------------- Editor ---------------
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.xml b/plugins/org.eclipse.wst.server.ui/plugin.xml
index f21fb07..4307dbb 100644
--- a/plugins/org.eclipse.wst.server.ui/plugin.xml
+++ b/plugins/org.eclipse.wst.server.ui/plugin.xml
@@ -9,6 +9,7 @@
   <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="org.eclipse.ui.newWizards">
   <category
@@ -182,13 +183,6 @@
            mode="profile"
            label="%actionProfileOnServer"/>
       </contextualLaunch>
-    <perspective id="org.eclipse.wst.server.ui.perspective"/>
-    <perspective id="org.eclipse.jdt.ui.JavaPerspective"/>
-    <perspective id="org.eclipse.jdt.ui.JavaHierarchyPerspective"/>
-    <perspective id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
-    <perspective id="org.eclipse.debug.ui.DebugPerspective"/>
-    <perspective id="com.ibm.etools.j2ee.J2EEPerspective"/>
-    <perspective id="org.eclipse.ui.resourcePerspective"/>
    </shortcut>
 </extension>
 
@@ -259,7 +253,11 @@
       class="org.eclipse.wst.server.ui.internal.ServerAdapterFactory"
       adaptableType="org.eclipse.wst.server.core.IServer">
       <adapter type="org.eclipse.ui.IActionFilter"/>
-      <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
+    </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>
   </extension>
 
@@ -363,23 +361,23 @@
 -->
 <extension point="org.eclipse.ui.commands">
   <command
+    id="org.eclipse.wst.server.launchShortcut.debug"
     name="%actionDebugOnServer"
     description="%actionDebugOnServer"
     categoryId="org.eclipse.debug.ui.category.run"
-    id="org.eclipse.wst.server.launchShortcut.debug">
-  </command>
+    defaultHandler="org.eclipse.wst.server.ui.internal.view.servers.ServerActionHandler"/>
   <command
+    id="org.eclipse.wst.server.launchShortcut.run"
     name="%actionRunOnServer"
     description="%actionRunOnServer"
     categoryId="org.eclipse.debug.ui.category.run"
-    id="org.eclipse.wst.server.launchShortcut.run">
-  </command>
+    defaultHandler="org.eclipse.wst.server.ui.internal.view.servers.ServerActionHandler"/>
   <command
-    name="%actionProfileOnServer"
-    description="%actionProfileOnServer"
+    id="org.eclipse.wst.server.publish"
+    name="%actionPublish"
+    description="%actionPublish"
     categoryId="org.eclipse.debug.ui.category.run"
-    id="org.eclipse.wst.server.launchShortcut.profile">
-  </command>
+    defaultHandler="org.eclipse.wst.server.ui.internal.view.servers.ServerActionHandler"/>
 </extension>
 
 <extension point="org.eclipse.ui.bindings">
@@ -396,7 +394,7 @@
   <key
     sequence="M3+M2+P R"
     contextId="org.eclipse.ui.globalScope"
-    commandId="org.eclipse.wst.server.launchShortcut.profile"
+    commandId="org.eclipse.wst.server.publish"
     schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
 </extension>
 
@@ -455,4 +453,11 @@
   </launchConfigurationTabGroup>
 </extension>
 
+<extension point="org.eclipse.wst.server.ui.serverToolTip">
+  <serverToolTip
+    id="org.eclipse.wst.server.ui.GeneralToolTip"
+    class="org.eclipse.wst.server.ui.GeneralToolTip"
+    serverTypes="*"/>
+</extension>
+
 </plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd b/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd
index f800373..dbfa8b9 100644
--- a/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd
+++ b/plugins/org.eclipse.wst.server.ui/schema/editorPageSections.exsd
@@ -44,7 +44,7 @@
    <element name="section">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd
index 9947534..d4ae0da 100644
--- a/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd
+++ b/plugins/org.eclipse.wst.server.ui/schema/serverImages.exsd
@@ -42,7 +42,7 @@
    <element name="image">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.ui/schema/serverToolTip.exsd b/plugins/org.eclipse.wst.server.ui/schema/serverToolTip.exsd
new file mode 100644
index 0000000..7127f59
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/schema/serverToolTip.exsd
@@ -0,0 +1,138 @@
+<?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="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.IServerToolTip&lt;/samp&gt;
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.server.ui.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>
+         [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) 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
index 7531ed9..38a89b1 100644
--- a/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd
+++ b/plugins/org.eclipse.wst.server.ui/schema/wizardFragments.exsd
@@ -42,7 +42,7 @@
    <element name="fragment">

       <annotation>

          <appInfo>

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

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

          </appInfo>

       </annotation>

       <complexType>

diff --git a/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml b/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml
index 836672e..d5c7ca0 100644
--- a/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml
+++ b/plugins/org.eclipse.wst.server.ui/serverAdapterSites.xml
@@ -6,4 +6,5 @@
     <site url="https://dev2devclub.bea.com/updates/eclipse-3.3/wls-plugins/"/>
     <site url="https://ajax.dev.java.net/eclipse"/>
     <site url="https://www.sdn.sap.com/downloads/updates/netweaver/nwds/sapnwserver/"/>
+    <site url="http://www.webtide.com/eclipse"/>
 </extensions>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/GeneralToolTip.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/GeneralToolTip.java
new file mode 100644
index 0000000..ff863ee
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/GeneralToolTip.java
@@ -0,0 +1,34 @@
+/**********************************************************************
+ * 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.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.server.core.IServer;
+
+public class GeneralToolTip implements IServerToolTip {
+	public GeneralToolTip() {
+		// do nothing
+	}
+
+	public Composite createContent(Composite parent, IServer server) {
+		Text text = new Text(parent,SWT.NONE);
+		text.setBackground(parent.getBackground());
+		String s = "";
+		if (server.getRuntime() != null)
+			s += server.getRuntime().getName() + " - ";
+		s += server.getModules().length + " modules";
+		text.setText(s);
+		
+		return parent;
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerToolTip.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerToolTip.java
new file mode 100644
index 0000000..17ac54c
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/IServerToolTip.java
@@ -0,0 +1,28 @@
+/**********************************************************************
+ * 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.swt.widgets.Composite;
+import org.eclipse.wst.server.core.IServer;
+/**
+ * Provides extra information to the hover over mouse action of a server
+ *
+ */
+public interface IServerToolTip {
+	/**
+	 * Allows adopters to add widgets to the tooltip. The parent is a StyledText object.
+	 * 
+	 * @param parent the parent, a StyledText
+	 * @param server the server
+	 * @return the composite to display
+	 */
+	public Composite 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/ServerLaunchConfigurationTab.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
index d38c217..e13fad0 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerLaunchConfigurationTab.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -53,7 +53,7 @@
 	private IServer server;
 
 	// list of servers that are in combo
-	private List servers;
+	private List<IServer> servers;
 
 	private ILaunchConfigurationWorkingCopy wc;
 
@@ -122,7 +122,7 @@
 		
 		// initialize
 		IServer[] servers2 = ServerCore.getServers();
-		servers = new ArrayList();
+		servers = new ArrayList<IServer>();
 		if (servers2 != null) {
 			int size = servers2.length;
 			for (int i = 0; i < size; i++) {
@@ -171,7 +171,7 @@
 		if (servers.isEmpty())
 			server = null;
 		else
-			server = (IServer) servers.get(serverCombo.getSelectionIndex());
+			server = servers.get(serverCombo.getSelectionIndex());
 		IRuntime runtime = null;
 		if (server != null) {
 			runtime = server.getRuntime();
@@ -214,7 +214,7 @@
 		}
 		
 		if (servers != null) {
-			server = (IServer) servers.get(serverCombo.getSelectionIndex());
+			server = servers.get(serverCombo.getSelectionIndex());
 			if (server != null)
 				((Server) server).setupLaunchConfiguration(configuration, null);
 		}
@@ -299,4 +299,4 @@
 	public String getName() {
 		return Messages.serverLaunchConfigurationTab;
 	}
-}
\ 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
index 9423e9c..f8cb714 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorPart.java
@@ -19,6 +19,8 @@
 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.IMessageManager;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.part.EditorPart;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
@@ -39,10 +41,11 @@
 	public static final int PROP_ERROR = 5;
 
 	private String errorMessage = null;
-	private Map sectionToInsertionId = null;
-	private List sections = 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.
@@ -91,9 +94,31 @@
 	}
 
 	/**
+	 * Set the managed form that this part is using.
+	 * 
+	 * @param managedForm a managed form
+	 */
+	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
+	 */
+	protected IManagedForm getManagedForm() {
+		return managedForm;
+	}
+
+	/**
 	 * Set an error message for this page.
 	 * 
-	 * @param error java.lang.String
+	 * @param error the error message
+	 * @see #getManagedForm() Use forms UI based for errors via {@link IMessageManager}
+	 *    on the message form instead of this method
 	 */
 	public void setErrorMessage(String error) {
 		if (error == null && errorMessage == null)
@@ -108,6 +133,9 @@
 
 	/**
 	 * Updates the error message shown in the editor.
+	 * 
+	 * @see #getManagedForm() Use forms UI based for errors via {@link IMessageManager}
+	 *    on the message form instead of this method
 	 */
 	public void updateErrorMessage() {
 		super.firePropertyChange(PROP_ERROR);
@@ -116,7 +144,9 @@
 	/**
 	 * Return the error message for this page.
 	 * 
-	 * @return java.lang.String
+	 * @return the error message
+	 * @see #getManagedForm() Use forms UI based for errors via {@link IMessageManager}
+	 *    on the message form instead of this method
 	 */
 	public String getErrorMessage() {
 		if (errorMessage == null) {
@@ -136,11 +166,13 @@
 	 * server resource is saved. If there are any error messages, the
 	 * user will be unable to save the editor.
 	 * 
-	 * @return org.eclipse.core.runtime.IStatus
+	 * @return a set of status
+	 * @see #getManagedForm() Use forms UI based for errors via {@link IMessageManager}
+	 *    on the message form instead of this method
 	 */
 	public IStatus[] getSaveStatus() {
 		Iterator iterator = getSections().iterator();
-		List list = new ArrayList();
+		List<IStatus> list = new ArrayList<IStatus>();
 		while (iterator.hasNext()) {
 			ServerEditorSection section = (ServerEditorSection) iterator.next();
 			IStatus[] status = section.getSaveStatus();
@@ -159,8 +191,8 @@
 
 	private List getSections() {
 		if (sections == null) {
-			sections = new ArrayList();
-			sectionToInsertionId = new HashMap();
+			sections = new ArrayList<ServerEditorSection>();
+			sectionToInsertionId = new HashMap<String, List<ServerEditorSection>>();
 			ServerEditor serverEditor = commandManager.getServerEditor();
 			Iterator iterator = ServerEditorCore.getServerEditorPageSectionFactories().iterator();
 			while (iterator.hasNext()) {
@@ -178,14 +210,14 @@
 						if (section != null) {
 							section.setServerEditorPart(this);
 							sections.add(section);
-							List list = null;
+							List<ServerEditorSection> list = null;
 							try {
-								list = (List) sectionToInsertionId.get(insertionId);
+								list = sectionToInsertionId.get(insertionId);
 							} catch (Exception e) {
 								// ignore
 							}
 							if (list == null)
-								list = new ArrayList();
+								list = new ArrayList<ServerEditorSection>();
 							list.add(section);
 							sectionToInsertionId.put(insertionId, list);
 						}
@@ -201,11 +233,11 @@
 			return null;
 		
 		getSections();
-		List list = new ArrayList();
+		List<ServerEditorSection> list = new ArrayList<ServerEditorSection>();
 		try {
-			List sections2 = (List) sectionToInsertionId.get(insertionId);
+			List<ServerEditorSection> sections2 = sectionToInsertionId.get(insertionId);
 			if (sections2 != null) {
-				Iterator iterator = sections2.iterator();
+				Iterator<ServerEditorSection> iterator = sections2.iterator();
 				while (iterator.hasNext()) {
 					list.add(iterator.next());
 				}
@@ -247,7 +279,7 @@
 	}
 
 	/**
-	 * Return the server that is being editted.
+	 * Return the server that is being edited.
 	 * 
 	 * @return a server working copy
 	 */
@@ -295,13 +327,16 @@
 	}
 
 	/**
-	 * Get a form toolkit to create widgets. It will automatically be disposed
-	 * when the editor is disposed.
+	 * 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;
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
index 218d922..ccc2473 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/editor/ServerEditorSection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -17,6 +17,8 @@
 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.IMessageManager;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.eclipse.wst.server.ui.internal.editor.ServerEditorPartInput;
@@ -89,9 +91,11 @@
 	}
 
 	/**
-	 * Return the error message for this page.
+	 * Return the error message for this section.
 	 * 
 	 * @return the error message
+	 * @see #getManagedForm() Use forms UI based for errors via {@link IMessageManager}
+	 *    on the message form instead of this method
 	 */
 	public String getErrorMessage() {
 		return errorMessage;
@@ -105,6 +109,8 @@
 	 * @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 IMessageManager}
+	 *    on the message form instead of this method
 	 */
 	public IStatus[] getSaveStatus() {
 		return null;
@@ -120,9 +126,11 @@
 	}
 
 	/**
-	 * Set an error message for this page.
+	 * Set an error message for this section.
 	 * 
 	 * @param error an error message
+	 * @see #getManagedForm() Use forms UI based for errors via {@link IMessageManager}
+	 *    on the message form instead of this method
 	 */
 	public void setErrorMessage(String error) {
 		if (error == null && errorMessage == null)
@@ -137,17 +145,28 @@
 	}
 
 	/**
-	 * Get a form toolkit to create widgets. It will automatically be disposed
-	 * when the editor is disposed.
+	 * Get a form toolkit to create widgets. It will be disposed automatically
+	 * when the editor is closed.
 	 * 
 	 * @param display the display
-	 * @return FormToolkit
+	 * @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.
+	 */
+	protected IManagedForm getManagedForm() {
+		return editor.getManagedForm();
+	}
+
+	/**
 	 * Disposes of the section.
 	 */
 	public void dispose() {
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
index 7855525..99d683c 100644
--- 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
@@ -26,6 +26,8 @@
 	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";
@@ -41,11 +43,8 @@
 	public static final String PREF_GENERAL_AUTOPUBLISH_LOCAL = ServerUIPlugin.PLUGIN_ID + ".spge0002";
 	public static final String PREF_GENERAL_AUTOPUBLISH_REMOTE = ServerUIPlugin.PLUGIN_ID + ".spge0006";
 	public static final String PREF_GENERAL_PUBLISH_BEFORE_START = ServerUIPlugin.PLUGIN_ID + ".spge0012";
-	public static final String PREF_GENERAL_PROMPT_IRREVERSIBLE = ServerUIPlugin.PLUGIN_ID + ".spge0020";
-	public static final String PREF_GENERAL_PROMPT_LAUNCH_MODE = ServerUIPlugin.PLUGIN_ID + ".spge0030";
 	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_TIMEOUT_DELAY = ServerUIPlugin.PLUGIN_ID + ".spge0026";
 	public static final String PREF_GENERAL_SYNC_STARTUP = ServerUIPlugin.PLUGIN_ID + ".spge0028";
 	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";
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
index 023af1d..279ddbb 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -30,7 +30,7 @@
  * 
  */
 public class DefaultMonitorDelegate extends ServerMonitorDelegate {
-	protected Map monitors = new HashMap();
+	protected Map<ServerPort, IMonitor> monitors = new HashMap<ServerPort, IMonitor>();
 	protected IMonitorListener listener;
 
 	private void addListener() {
@@ -74,7 +74,7 @@
 	 */
 	public int startMonitoring(IServer server, ServerPort port, int monitorPort) throws CoreException {
 		try {
-			IMonitor monitor = (IMonitor) monitors.get(port);
+			IMonitor monitor = monitors.get(port);
 			int mport = -1;
 			if (monitor == null) {
 				mport = monitorPort;
@@ -106,11 +106,11 @@
 	 */
 	public void stopMonitoring(IServer server, ServerPort port) {
 		try {
-			IMonitor monitor = (IMonitor) monitors.get(port);
+			IMonitor monitor = monitors.get(port);
 			if (monitor != null)
 				monitor.stop();
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Could not stop monitoring", e);
 		}
 	}
-}
\ 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
index 0ff2d2b..7b3eab3 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -24,14 +24,14 @@
  * 
  */
 public class DefaultServerLabelDecorator implements ILabelDecorator {
-	protected Map map = new HashMap();
+	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 = (Image) map.get(element);
+			Image img = map.get(element);
 			if (img != null)
 				return img;
 		} catch (Exception e) {
@@ -101,4 +101,4 @@
 	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/DeleteServerDialog.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/DeleteServerDialog.java
index 9f257d4..84e873f 100644
--- 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
@@ -49,7 +49,7 @@
 	protected IServer[] servers;
 	protected IFolder[] configs;
 
-	protected List runningServersList;
+	protected List<IServer> runningServersList;
 	protected boolean runningServerCanStop;
 
 	protected Button checkDeleteConfigs;
@@ -73,7 +73,7 @@
 		this.servers = servers;
 		this.configs = configs;
 		
-		runningServersList = new ArrayList();
+		runningServersList = new ArrayList<IServer>();
 		for (int i = 0 ; i < servers.length ; ++i) {
 			if (servers[i].getServerState() != IServer.STATE_STOPPED)
 				runningServersList.add(servers[i]);
@@ -196,13 +196,13 @@
 	 */
 	protected void prepareForDeletion(boolean deleteRunning, boolean stopRunning) {
 		// converts servers & configs to list to facilitate removal
-		List serversList = new LinkedList(Arrays.asList(servers));
-		List configsList = new LinkedList(Arrays.asList(configs));
+		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 = (IServer) runningServersList.get(i);
+				IServer server = runningServersList.get(i);
 				serversList.remove(server);
 				if (server.getServerConfiguration() != null)
 					configsList.remove(server.getServerConfiguration());
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
index 591d2f7..cc365e3 100644
--- 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
@@ -34,7 +34,7 @@
 
 	// map of image descriptors since these
 	// will be lost by the image registry
-	private static Map imageDescriptors;
+	private static Map<String, ImageDescriptor> imageDescriptors;
 
 	// base urls for images
 	private static URL ICON_BASE_URL;
@@ -122,11 +122,13 @@
 	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";
@@ -187,7 +189,7 @@
 	public static ImageDescriptor getImageDescriptor(String key) {
 		if (imageRegistry == null)
 			initializeImageRegistry();
-		ImageDescriptor id = (ImageDescriptor) imageDescriptors.get(key);
+		ImageDescriptor id = imageDescriptors.get(key);
 		if (id != null)
 			return id;
 		
@@ -199,7 +201,7 @@
 	 */
 	protected static void initializeImageRegistry() {
 		imageRegistry = new ImageRegistry();
-		imageDescriptors = new HashMap();
+		imageDescriptors = new HashMap<String, ImageDescriptor>();
 
 		// wizard banners
 		registerImage(IMG_WIZBAN_NEW_SERVER, URL_WIZBAN + "new_server_wiz.png");
@@ -212,6 +214,7 @@
 		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");
@@ -224,6 +227,7 @@
 		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
 		registerImage(IMG_SERVER_STATE_STARTED, URL_OBJ + "server_started.gif");
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
index 1a2db4f..e7d2ffa 100644
--- 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
@@ -76,7 +76,7 @@
 				Trace.trace(Trace.FINEST, "Attempting to load client: " + client);
 				try {
 					Object launchable = launchableAdapter.getLaunchable(server, moduleArtifact);
-					IStatus status = client.launch(server, launchable, launchMode, server.getExistingLaunch());
+					IStatus status = client.launch(server, launchable, launchMode, server.getLaunch());
 					if (status != null && status.getSeverity() == IStatus.ERROR)
 						EclipseUtil.openError(null, status);
 				} catch (CoreException ce) {
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
index 8e0866a..fe296d3 100644
--- 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
@@ -31,7 +31,6 @@
 	public static String deleteServerDialogRunningServerStop;
 	public static String deleteServerTask;
 	public static String errorCouldNotCreateServerProjectStatus;
-	public static String dialogStoppingServer;
 	public static String savingTask;
 	public static String editorSaveErrorDialog;
 	public static String editorSaveErrorMessage;
@@ -71,6 +70,8 @@
 	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;
@@ -92,7 +93,6 @@
 	public static String prefAutoPublishLocalTime;
 	public static String prefAutoPublishRemote;
 	public static String prefAutoPublishRemoteTime;
-	public static String prefPromptIrreversible;
 	public static String prefLaunchMode;
 	public static String prefLaunchModeRestart;
 	public static String prefLaunchModeContinue;
@@ -116,21 +116,21 @@
 	public static String prefSaveEditorsAlways;
 	public static String prefSaveEditorsNever;
 	public static String prefSaveEditorsPrompt;
-	public static String prefMachineSpeed;
-	public static String prefMachineSpeedUnlimited;
-	public static String prefMachineSpeedVerySlow;
-	public static String prefMachineSpeedSlow;
-	public static String prefMachineSpeedAverage;
-	public static String prefMachineSpeedFast;
-	public static String prefMachineSpeedVeryFast;
 	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 actionStartToolTip;
 	public static String actionStart;
 	public static String actionProfileToolTip;
 	public static String actionProfile;
+	public static String actionProfileRestart;
 	public static String actionRestartToolTip;
 	public static String actionRestart;
 	public static String actionPublishToolTip;
@@ -233,14 +233,15 @@
 	public static String columnType;
 	public static String runtimeTypeCompTree;
 	public static String runtimeTypeCompDescription;
-	public static String installedRuntimes;
+	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 actionProperties;
-	public static String actionOpen;
 	public static String viewServer;
 	public static String viewStatus;
 	public static String viewState;
@@ -264,6 +265,7 @@
 	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;
@@ -290,6 +292,11 @@
 	public static String serverEditorOverviewAutoPublishOverrideInterval;
 	public static String serverEditorOverviewAutoPublishCommand;
 	public static String serverEditorOverviewAutoPublishInvalid;
+	public static String serverEditorOverviewTimeoutSection;
+	public static String serverEditorOverviewTimeoutDescription;	
+	public static String serverEditorOverviewTimeoutCommand;	
+	public static String serverEditorOverviewStartTimeout;	
+	public static String serverEditorOverviewStopTimeout;
 	public static String serverEditorOverviewServerHostnameCommand;
 	public static String serverEditorOverviewServerNameCommand;
 	public static String serverEditorOverviewRuntimeCommand;
@@ -318,6 +325,7 @@
 	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;
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
index 73de2ac..4b07a47 100644
--- 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
@@ -52,7 +52,7 @@
 wizNewRuntimeWizardTitle=New Server Runtime
 wizNewRuntimeTitle=New Server Runtime
 wizNewRuntimeDescription=Define a new installed server runtime environment
-wizNewRuntimeCreateServer=Also &create new local server
+wizNewRuntimeCreateServer=&Create a new local server
 wizEditRuntimeWizardTitle=Edit Server Runtime
 
 # New Server Adapter Wizard
@@ -62,6 +62,7 @@
 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
@@ -101,10 +102,13 @@
 actionDelete=Delete
 actionRemove=Remove
 actionOpen=Open
-actionMonitor=Monitoring
+actionShowIn=Show In
+actionCopy=Copy
+actionPaste=Paste
+actionMonitor=Monitorin&g
 actionMonitorPort=Monitor port {0} ({1})
 actionProperties=Properties
-actionNew=New
+actionNew=Ne&w
 actionNewServer=Server
 
 # --- Servers view ---
@@ -116,30 +120,32 @@
 viewState=State
 
 # Actions
-actionStart=Start
+actionStart=&Start
 actionStartToolTip=Start the server
-actionDebug=Debug
+actionDebug=&Debug
+actionDebugRestart=Restart in Debug
 actionDebugToolTip=Start the server in debug mode
-actionProfile=Profile
+actionProfile=Pro&file
+actionProfileRestart=Restart in Profile
 actionProfileToolTip=Start the server in profiling mode
-actionStop=Stop
+actionStop=S&top
 actionStopToolTip=Stop the server
-actionRestart=Restart
+actionRestart=&Restart
 actionRestartToolTip=Restart the server
 actionPublish=Publish
 actionPublishToolTip=Publish to the server
-actionPublishClean=Clean...
+actionPublishClean=&Clean...
 actionPublishCleanToolTip=Clean projects on the server
-actionModifyModules=Add and Remove Projects...
+actionModifyModules=Add and Remove &Projects...
 actionModifyModulesToolTip=Add and remove projects
-actionRestartModule=Restart
-actionStartModule=Start
-actionStopModule=Stop
-actionUpdateStatus=Initialize Server Status
+actionRestartModule=&Restart
+actionStartModule=&Start
+actionStopModule=S&top
+actionUpdateStatus=&Initialize Server Status
 actionSwitchServerLocation=Switch Location
 switchServerLocation=Location:
 switchServerLocationMetadata=[workspace metadata]
-actionRename=Rename
+actionRename=Re&name
 
 # Status column text
 viewStatusStarted=Started
@@ -203,15 +209,7 @@
 prefAutoPublishLocalTime=Publishing i&nterval (in seconds):
 prefAutoPublishRemote=Automatically publish to rem&ote servers
 prefAutoPublishRemoteTime=Publishing inter&val (in seconds):
-prefPromptIrreversible=Prompt before making &irreversible changes within an editor
 prefShowOnActivity=Show &Servers view when server state changes
-prefMachineSpeed=Server &timeout delay:
-prefMachineSpeedUnlimited=Unlimited
-prefMachineSpeedVerySlow=Longer
-prefMachineSpeedSlow=Long
-prefMachineSpeedAverage=Normal
-prefMachineSpeedFast=Short
-prefMachineSpeedVeryFast=Shorter
 prefSyncStartup=S&ynchronize servers on workbench startup
 
 prefSaveEditors=Save dirty editors before starting server
@@ -251,6 +249,10 @@
 propServerInfoType=Type:
 propServerInfoVendor=Vendor:
 
+# Tooltip
+toolTipEnableFocus=Press 'F3' for Focus.
+toolTipDisableFocus=Press 'ESC' to Hide.
+
 # Installed runtimes
 preferenceRuntimesDescription=Add, remove, or edit installed server runtime definitions.
 preferenceRuntimesTable=&Installed server runtimes:
@@ -293,7 +295,6 @@
 
 # General dialogs
 defaultDialogTitle=Server
-dialogStoppingServer=Stopping server {0}.
 dialogRemember=&Remember my decision
 
 # restart warning dialog
@@ -355,7 +356,10 @@
 runtimeTypeCompDescription=Runtimes are used at build time to compile projects.
 runtimeTypeCompTree=Select the &runtime type:
 serverTypeCompLabel=Select the &server type:
-installedRuntimes=&Installed Runtimes...
+serverName=Server na&me:
+serverNameDefault=Rese&t default
+configureRuntimes=&Configure runtimes...
+addRuntime=&Add...
 
 # installable server composite
 installableServerCompTree=Select the &server support to install:
@@ -391,9 +395,10 @@
 errorVersionLevel=The server does not support version {1} of the {0} specification.
 errorMissingConfiguration=The server configuration is missing or invalid
 errorRootModule=Could not find a valid parent module to add to the server.
+errorDuplicateName=The name is already in use.
 
 # Info messages
-infoNoRuntimesFound=No server runtimes were found.
+infoNoRuntimesFound=No new server runtimes were found.
 
 # Default server creation names
 # {0} will be replaced by a number if the given name is already being used
@@ -424,7 +429,7 @@
 serverEditorOverviewServerName=Server name:
 serverEditorOverviewServerNameCommand=set server name
 serverEditorOverviewServerConfigurationPath=Configuration path:
-serverEditorOverviewServerConfigurationBrowse=Browse
+serverEditorOverviewServerConfigurationBrowse=Browse...
 serverEditorOverviewServerConfigurationBrowseMessage=Specify the location of the server configuration.
 serverEditorOverviewServerHostname=Host name:
 serverEditorOverviewServerHostnameCommand=set host name
@@ -433,15 +438,20 @@
 serverEditorOverviewRuntimeCommand=set runtime
 
 serverEditorOverviewAutoPublishSection=Automatic Publishing
-serverEditorOverviewAutoPublishDescription=Override when the server is automatically published to.
+serverEditorOverviewAutoPublishDescription=Override when the server is automatically published.
 serverEditorOverviewAutoPublishDefault=Use default publishing settings
 serverEditorOverviewAutoPublishDefaultEdit=Edit
 serverEditorOverviewAutoPublishOverride=Override default settings
 serverEditorOverviewAutoPublishOverrideInterval=Publishing interval (in seconds):
 serverEditorOverviewAutoPublishDisable=Never publish automatically
 serverEditorOverviewAutoPublishCommand=modify publish settings
+serverEditorOverviewTimeoutSection=Timeouts
+serverEditorOverviewTimeoutDescription=Specify the time to wait until the server state is received 
+serverEditorOverviewStartTimeout=Start:
+serverEditorOverviewStopTimeout=Stop:
+serverEditorOverviewTimeoutCommand=modify timeout settings
 serverEditorOverviewOpenLaunchConfiguration=Open launch configuration
-serverEditorOverviewAutoPublishInvalid=The automatic publish setting is invalid. It must be a {0} seconds or more.
+serverEditorOverviewAutoPublishInvalid=The automatic publish setting is invalid. It must be a 1 second or more.
 
 # Menu items. {0} will be replaced by one of the xxxEditorActionXxx fields
 # from below. @Ctrl+Z is the menu mnemonic
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
new file mode 100644
index 0000000..ced7bff
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator2.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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;
+			System.out.println("decorate2");
+			
+			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/ProjectPropertyPage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ProjectPropertyPage.java
index 899e901..e815b37 100644
--- 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
@@ -176,8 +176,8 @@
 	/**
 	 * Returns a list of all servers that this module is configured on.
 	 *
-	 * @param module org.eclipse.wst.server.core.IModule
-	 * @return java.util.List
+	 * @param module a module
+	 * @return an array of servers
 	 */
 	protected static IServer[] getServersBySupportedModule(IModule module) {
 		if (module == null)
@@ -185,7 +185,7 @@
 		
 		// do it the slow way - go through all servers and
 		// see if this module is configured in it
-		List list = new ArrayList();
+		List<IServer> list = new ArrayList<IServer>();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
@@ -197,9 +197,7 @@
 			}
 		}
 		
-		IServer[] allServers = new IServer[list.size()];
-		list.toArray(allServers);
-		return allServers;
+		return list.toArray(new IServer[list.size()]);
 	}
 
 	protected void performDefaults() {
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
index 829d76e..54d2cf3 100644
--- 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
@@ -188,7 +188,7 @@
 					final IProgressMonitor monitor = dialog.getProgressMonitor();
 					final IRuntimeLocator[] locators = ServerPlugin.getRuntimeLocators();
 					monitor.beginTask(Messages.dialogRuntimeSearchProgress, 100 * locators.length + 10);
-					final List list = new ArrayList();
+					final List<IRuntimeWorkingCopy> list = new ArrayList<IRuntimeWorkingCopy>();
 					
 					final IRuntimeLocator.IRuntimeSearchListener listener = new IRuntimeLocator.IRuntimeSearchListener() {
 						public void runtimeFound(final IRuntimeWorkingCopy runtime) {
@@ -203,16 +203,14 @@
 					
 					IRunnableWithProgress runnable = new IRunnableWithProgress() {
 						public void run(IProgressMonitor monitor2) {
-							if (locators != null) {
-								int size = locators.length;
-								for (int i = 0; i < size; i++) {
-									if (!monitor2.isCanceled())
-										try {
-											locators[i].searchForRuntimes(path, listener, monitor2);
-										} catch (CoreException ce) {
-											Trace.trace(Trace.WARNING, "Error locating runtimes: " + locators[i].getId(), ce);
-										}
-								}
+							int size = locators.length;
+							for (int i = 0; i < size; i++) {
+								if (!monitor2.isCanceled())
+									try {
+										locators[i].searchForRuntimes(path, listener, monitor2);
+									} catch (CoreException ce) {
+										Trace.trace(Trace.WARNING, "Error locating runtimes: " + locators[i].getId(), ce);
+									}
 							}
 							Trace.trace(Trace.INFO, "Done search");
 						}
@@ -229,7 +227,7 @@
 						monitor.worked(5);
 						// remove duplicates from list (based on location)
 						Trace.trace(Trace.FINER, "Removing duplicates");
-						List good = new ArrayList();
+						List<IRuntime> good = new ArrayList<IRuntime>();
 						Iterator iterator2 = list.iterator();
 						while (iterator2.hasNext()) {
 							boolean dup = false;
@@ -279,7 +277,7 @@
 
 		// check for use
 		IServer[] servers = ServerCore.getServers();
-		List list = new ArrayList();
+		List<IServer> list = new ArrayList<IServer>();
 		if (servers != null) {
 			int size = servers.length;
 			for (int i = 0; i < size; i++) {
@@ -331,7 +329,7 @@
 		if (runtimeWorkingCopy == null) {
 			title = Messages.wizNewRuntimeWizardTitle;
 			fragment = new WizardFragment() {
-				protected void createChildFragments(List list) {
+				protected void createChildFragments(List<WizardFragment> list) {
 					list.add(new NewRuntimeWizardFragment());
 					list.add(WizardTaskUtil.SaveRuntimeFragment);
 				}
@@ -345,7 +343,7 @@
 			}
 			taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
 			fragment = new WizardFragment() {
-				protected void createChildFragments(List list) {
+				protected void createChildFragments(List<WizardFragment> list) {
 					list.add(fragment2);
 					list.add(WizardTaskUtil.SaveRuntimeFragment);
 				}
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
index 4e23331..e055b0a 100644
--- 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
@@ -11,10 +11,7 @@
 package org.eclipse.wst.server.ui.internal;
 
 import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.IActionFilter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.wst.server.core.IServer;
 /**
  * Adapter factory to adapt servers to IActionFilter.
  */
@@ -24,26 +21,6 @@
 			return ServerPropertyTester.checkProperty(target, name, value);
 		}
 	};
-	
-	IWorkbenchAdapter workbenchAdapter = new IWorkbenchAdapter() {
-		public Object[] getChildren(Object o) {
-			return null;
-		}
-
-		public ImageDescriptor getImageDescriptor(Object object) {
-			return ImageResource.getImageDescriptor(ImageResource.IMG_SERVER);
-		}
-
-		public String getLabel(Object o) {
-			if (o instanceof IServer)
-				return ((IServer) o).getName();
-			return null;
-		}
-
-		public Object getParent(Object o) {
-			return null;
-		}
-	};
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
@@ -51,10 +28,7 @@
 	public Object getAdapter(Object adaptableObject, Class adapterType) {
 		if (adapterType == IActionFilter.class)
 			return actionFilter;
-		
-		if (adapterType == IWorkbenchAdapter.class)
-			return workbenchAdapter;
-		
+			
 		return null;
 	}
 
@@ -62,6 +36,6 @@
 	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
 	 */
 	public Class[] getAdapterList() {
-		return new Class[] { IActionFilter.class, IWorkbenchAdapter.class };
+		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
index 853e8a3..ddd2236 100644
--- 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
@@ -35,7 +35,7 @@
  */
 public class ServerLabelProvider implements ILabelProvider, IColorProvider {
 	private ILabelDecorator decorator;
-	protected transient List listeners;
+	protected transient List<ILabelProviderListener> listeners;
 	protected ILabelProviderListener providerListener;
 
 	public ServerLabelProvider() {
@@ -53,7 +53,7 @@
 			throw new IllegalArgumentException("Listener cannot be null");
 		
 		if (listeners == null)
-			listeners = new ArrayList();
+			listeners = new ArrayList<ILabelProviderListener>();
 		listeners.add(listener);
 	}
 
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
index d226952..4284db4 100644
--- 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
@@ -12,14 +12,12 @@
 
 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.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
@@ -28,6 +26,7 @@
 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.
  */
@@ -35,8 +34,6 @@
 	protected ServerPreferences preferences;
 	protected ServerUIPreferences uiPreferences;
 
-	protected Button promptIrreversible;
-
 	protected Button showOnActivity;
 
 	protected Button syncOnStartup;
@@ -47,8 +44,6 @@
 	protected Button autoPublishRemote;
 	protected Spinner autoPublishRemoteTime;
 
-	protected Combo machineSpeedCombo;
-
 	/**
 	 * ServerPreferencesPage constructor comment.
 	 */
@@ -163,42 +158,6 @@
 			}
 		});
 		
-		promptIrreversible = new Button(composite, SWT.CHECK);
-		promptIrreversible.setText(Messages.prefPromptIrreversible);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 3;
-		promptIrreversible.setLayoutData(data);
-		promptIrreversible.setSelection(uiPreferences.getPromptBeforeIrreversibleChange());
-		whs.setHelp(promptIrreversible, ContextIds.PREF_GENERAL_PROMPT_IRREVERSIBLE);
-		
-		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.prefMachineSpeed);
-		
-		machineSpeedCombo = new Combo(composite, SWT.READ_ONLY);
-		String[] items = new String[] {
-			Messages.prefMachineSpeedUnlimited,
-			Messages.prefMachineSpeedVerySlow,
-			Messages.prefMachineSpeedSlow,
-			Messages.prefMachineSpeedAverage,
-			Messages.prefMachineSpeedFast,
-			Messages.prefMachineSpeedVeryFast
-		};
-		machineSpeedCombo.setItems(items);
-		int speed = preferences.getMachineSpeed();
-		if (speed < 0)
-			machineSpeedCombo.select(0);
-		else
-			machineSpeedCombo.select((speed - 1) / 2 + 1);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalSpan = 2;
-		machineSpeedCombo.setLayoutData(data);
-		whs.setHelp(machineSpeedCombo, ContextIds.PREF_GENERAL_TIMEOUT_DELAY);
-		
 		Dialog.applyDialogFont(composite);
 		
 		return composite;
@@ -217,7 +176,6 @@
 	 * Performs special processing when this page's Defaults button has been pressed.
 	 */
 	protected void performDefaults() {
-		promptIrreversible.setSelection(uiPreferences.getDefaultPromptBeforeIrreversibleChange());
 		showOnActivity.setSelection(uiPreferences.getDefaultShowOnActivity());
 		
 		syncOnStartup.setSelection(preferences.getDefaultSyncOnStartup());
@@ -226,7 +184,6 @@
 		autoPublishRemote.setSelection(preferences.getDefaultAutoPublishRemote());
 		autoPublishRemoteTime.setSelection(preferences.getDefaultAutoPublishRemoteTime());
 		
-		machineSpeedCombo.select((preferences.getDefaultMachineSpeed() - 1) / 2 + 1);
 		
 		super.performDefaults();
 	}
@@ -236,7 +193,6 @@
 	 */
 	public boolean performOk() {
 		preferences.setSyncOnStartup(syncOnStartup.getSelection());
-		uiPreferences.setPromptBeforeIrreversibleChange(promptIrreversible.getSelection());
 		uiPreferences.setShowOnActivity(showOnActivity.getSelection());
 		
 		preferences.setAutoPublishLocal(autoPublishLocal.getSelection());
@@ -244,12 +200,6 @@
 		preferences.setAutoPublishRemote(autoPublishRemote.getSelection());
 		preferences.setAutoPublishRemoteTime(autoPublishRemoteTime.getSelection());
 		
-		int speed = machineSpeedCombo.getSelectionIndex();
-		if (speed == 0)
-			speed = -1;
-		else
-			speed = (speed - 1) * 2 + 1;
-		preferences.setMachineSpeed(speed);
 		
 		return true;
 	}
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
index d700a9c..f19bfdc 100644
--- 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
@@ -22,7 +22,9 @@
 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;
@@ -61,6 +63,9 @@
 			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);
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
new file mode 100644
index 0000000..41459ce
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerToolTip.java
@@ -0,0 +1,297 @@
+/**********************************************************************
+ * 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 java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+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.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseMoveListener;
+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.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
+import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.internal.Server;
+import org.eclipse.wst.server.core.internal.Trace;
+import org.eclipse.wst.server.ui.IServerToolTip;
+
+
+
+public class ServerToolTip extends ToolTip {	
+	protected Hashtable<String,ArrayList> toolTipProviders = new Hashtable<String,ArrayList>();	
+	protected static Shell CURRENT_TOOLTIP;
+	private Label hintLabel;
+	protected Server server;
+	protected Tree tree;
+	private int x;
+	private int y;
+		
+
+	public ServerToolTip(final Control control) {
+		super(control);
+		if (control instanceof Tree) {
+			tree =(Tree)control;
+		}		
+		
+		control.addMouseMoveListener(new MouseMoveListener(){
+
+			public void mouseMove(MouseEvent e) {
+				x=e.x;
+				y=e.y;
+			}
+			
+		});
+		
+		control.addKeyListener(new KeyListener() {
+			public void keyPressed(KeyEvent  e) {
+				if (e.keyCode == SWT.ESC){
+					System.out.println("[ESC]");
+					CURRENT_TOOLTIP.setVisible(false);
+					CURRENT_TOOLTIP.dispose();
+					activate();
+					
+				}
+				if (e.keyCode == SWT.F3){
+					System.out.println("[F3]");
+					deactivate();
+					hide();
+					createFocusedTooltip(control);					
+				}
+			}
+			public void keyReleased(KeyEvent e){
+				// nothing to do 
+			}
+		});
+		
+		
+		
+		loadExtensions();
+	}
+	
+	protected 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 ocurring 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 Composite createToolTipContentArea(Event event, Composite parent) {
+		
+		Object o = tree.getItem(new Point(event.x,event.y));
+		if (o == null) {
+			hide();
+			return null;
+		}
+		if (o instanceof TreeItem) {
+			server = (Server)((TreeItem)o).getData();
+		}		
+		
+		FillLayout layout = (FillLayout)parent.getLayout();
+		layout.type = SWT.VERTICAL;		
+		parent.setLayout(layout);
+		
+		// Set the default text for the tooltip
+		StyledText sText = new StyledText(parent,SWT.NONE);
+		sText.setEditable(false);
+		sText.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
+		sText.setText("<b>"+server.getName()+"</b>");
+		
+		// Add adopters content		
+		ArrayList<IServerToolTip> listOfProviders = toolTipProviders.get(server.getServerType().getId());
+		
+		final Composite adoptersComposite = new Composite(parent,SWT.NONE);
+		adoptersComposite.setLayout(new FillLayout());
+		adoptersComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
+		
+		if (listOfProviders != null){
+			for (IServerToolTip tipProvider : listOfProviders){
+				tipProvider.createContent(adoptersComposite,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() {
+		Trace.trace(Trace.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];
+			
+			// Sort the extensions based on serverType
+			String exServerType = exElement.getAttribute("serverTypes");
+			
+			for (IServerType serverType : serverTypes) {
+				if (exServerType.compareTo("*") == 0 || 
+						exServerType.startsWith(serverType.getId()) == true) {
+					try {
+						IServerToolTip exTooltip = (IServerToolTip) exElement.createExecutableExtension("class");
+						ArrayList<IServerToolTip> listOfProviders = new ArrayList<IServerToolTip>(); 
+						if (toolTipProviders.containsKey(serverType)) {
+							listOfProviders = toolTipProviders.get(serverType);
+						}						
+						listOfProviders.add(exTooltip);
+						toolTipProviders.put(serverType.getId(), listOfProviders);
+					} catch (CoreException e){
+						Trace.trace(Trace.SEVERE, "Tooltip failed to load" + extensions[i].toString(), e);
+					}
+					Trace.trace(Trace.EXTENSION_POINT, "  Loaded serverToolTip: " + extensions[i].getAttribute("id"));
+				}
+			}
+		}
+	}
+
+//  read the createFocusedTooltip method for information on why this is commented out
+//
+//	protected class StickyTipMouseListener implements MouseListener{
+//
+//		public void mouseDoubleClick(MouseEvent e) {
+//			// TODO 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) {
+//			// TODO 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
index 4f6916c..a360de1 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerUIPlugin.java
@@ -78,7 +78,7 @@
 	protected Map imageDescriptors = new HashMap();
 
 	// cached copy of all runtime wizards
-	private static Map wizardFragments;
+	private static Map<String, WizardFragmentData> wizardFragments;
 
 	// cached initial selection provider
 	private static InitialSelectionProvider selectionProvider;
@@ -128,7 +128,7 @@
 		}
 	}
 
-	protected static List terminationWatches = new ArrayList();
+	protected static List<IServer> terminationWatches = new ArrayList<IServer>();
 
 	protected IServerLifecycleListener serverLifecycleListener = new IServerLifecycleListener() {
 		public void serverAdded(IServer server) {
@@ -323,7 +323,7 @@
 				int eventKind = event.getKind();
 				IServer server2 = event.getServer();
 				if (eventKind == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
-					if (server2.getServerState() == IServer.STATE_STOPPED && t != null)
+					if (server2.getServerState() == IServer.STATE_STOPPED)
 						t.alive = false;
 				}
 			}
@@ -374,7 +374,7 @@
 	 * of the given runtime type
 	 */
 	public static IRuntime[] getRuntimes(IRuntimeType runtimeType) {
-		List list = new ArrayList();
+		List<IRuntime> list = new ArrayList<IRuntime>();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -388,7 +388,7 @@
 		list.toArray(r);
 		return r;
 	}
-	
+
 	/**
 	 * Open the given server with the server editor.
 	 *
@@ -397,7 +397,7 @@
 	public static void editServer(IServer server) {
 		if (server == null)
 			return;
-
+		
 		editServer(server.getId());
 	}
 
@@ -409,10 +409,10 @@
 	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);
@@ -420,7 +420,7 @@
 			Trace.trace(Trace.SEVERE, "Error opening server editor", e);
 		}
 	}
-	
+
 	/**
 	 * Use the preference to prompt the user to save dirty editors, if applicable.
 	 * 
@@ -533,7 +533,7 @@
 	 */
 	public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version, final String runtimeTypeId) {
 		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List list) {
+			protected void createChildFragments(List<WizardFragment> list) {
 				list.add(new NewRuntimeWizardFragment(type, version, runtimeTypeId));
 				list.add(WizardTaskUtil.SaveRuntimeFragment);
 			}
@@ -562,7 +562,7 @@
 				taskModel.putObject(TaskModel.TASK_RUNTIME, runtime);
 				
 				WizardFragment fragment = new WizardFragment() {
-					protected void createChildFragments(List list) {
+					protected void createChildFragments(List<WizardFragment> list) {
 						list.add(getWizardFragment(runtimeTypeId));
 						list.add(WizardTaskUtil.SaveRuntimeFragment);
 					}
@@ -590,7 +590,7 @@
 	 */
 	public static boolean showNewServerWizard(Shell shell, final String typeId, final String versionId, final String serverTypeId) {
 		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List list) {
+			protected void createChildFragments(List<WizardFragment> list) {
 				list.add(new NewServerWizardFragment(new ModuleType(typeId, versionId), serverTypeId));
 				
 				list.add(WizardTaskUtil.TempSaveRuntimeFragment);
@@ -628,7 +628,7 @@
 		while (iterator.hasNext()) {
 			String key = (String) iterator.next();
 			if (typeId.equals(key)) {
-				WizardFragmentData data = (WizardFragmentData) wizardFragments.get(key);
+				WizardFragmentData data = wizardFragments.get(key);
 				return getWizardFragment(data);
 			}
 		}
@@ -645,7 +645,7 @@
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, EXTENSION_WIZARD_FRAGMENTS);
 		
-		Map map = new HashMap(cf.length);
+		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(cf.length);
 		loadWizardFragments(cf, map);
 		addRegistryListener();
 		wizardFragments = map;
@@ -656,7 +656,7 @@
 	/**
 	 * Load wizard fragments.
 	 */
-	private static synchronized void loadWizardFragments(IConfigurationElement[] cf, Map map) {
+	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");
@@ -757,7 +757,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		Map map = new HashMap(wizardFragments);
+		Map<String, WizardFragmentData> map = new HashMap<String, WizardFragmentData>(wizardFragments);
 		if (delta.getKind() == IExtensionDelta.ADDED) {
 			loadWizardFragments(cf, map);
 		} else {
@@ -789,7 +789,7 @@
 		if (str == null)
 			return new String[0];
 		
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		
 		StringTokenizer st = new StringTokenizer(str, delim);
 		while (st.hasMoreTokens()) {
@@ -816,7 +816,7 @@
 		if (server == null || launchable == null)
 			return new IClient[0];
 		
-		ArrayList list = new ArrayList(5);
+		ArrayList<IClient> list = new ArrayList<IClient>(5);
 		IClient[] clients = ServerPlugin.getClients();
 		if (clients != null) {
 			int size = clients.length;
@@ -881,7 +881,7 @@
 		if (obj == null)
 			return obj;
 		
-		List list = new ArrayList();
+		List<Object> list = new ArrayList<Object>();
 		int size = obj.length;
 		for (int i = 0; i < size; i++) {
 			if (obj[i] instanceof IModule) {
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
index c14bd85..a66d68b 100644
--- 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
@@ -20,7 +20,6 @@
  * Helper class that stores preference information for server tools UI.
  */
 public class ServerUIPreferences {
-	private static final String PREF_PROMPT_IRREVERSIBLE = "prompt-irreversible";
 	private static final String PREF_IMPORT_LOCATION = "import-location";
 	private static final String PREF_SAVE_EDITORS = "save-editors";
 	private static final String PREF_HOST_NAMES = "host-names";
@@ -65,7 +64,6 @@
 	}
 
 	public void setDefaults() {
-		preferences.setDefault(PREF_PROMPT_IRREVERSIBLE, getDefaultPromptBeforeIrreversibleChange());
 		preferences.setDefault(PREF_LAUNCH_MODE, getDefaultLaunchMode());
 		preferences.setDefault(PREF_LAUNCH_MODE2, getDefaultLaunchMode2());
 		preferences.setDefault(PREF_ENABLE_BREAKPOINTS, getDefaultEnableBreakpoints());
@@ -77,37 +75,6 @@
 	}
 
 	/**
-	 * Returns whether the user should be prompted before making an
-	 * irreversible change in the editor.
-	 * 
-	 * @return boolean
-	 */
-	public boolean getPromptBeforeIrreversibleChange() {
-		return preferences.getBoolean(PREF_PROMPT_IRREVERSIBLE);
-	}
-
-	/**
-	 * Returns the default value of whether the user should be prompted
-	 * before making an irreversible change in the editor.
-	 *
-	 * @return boolean
-	 */
-	public boolean getDefaultPromptBeforeIrreversibleChange() {
-		return true;
-	}
-
-	/**
-	 * Sets whether the user should be prompted before making an
-	 * irreversible change in the editor.
-	 *
-	 * @param b <code>true</code> to prompt before irreversible changes
-	 */
-	public void setPromptBeforeIrreversibleChange(boolean b) {
-		preferences.setValue(PREF_PROMPT_IRREVERSIBLE, 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.
 	 *
@@ -310,10 +277,10 @@
 	 * 
 	 * @return the hostnames
 	 */
-	public List getHostnames() {
+	public List<String> getHostnames() {
 		String s = preferences.getString(PREF_HOST_NAMES);
 		StringTokenizer st = new StringTokenizer(s, "|*|");
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		while (st.hasMoreTokens()) {
 			list.add(st.nextToken());
 		}
@@ -329,7 +296,7 @@
 		if ("localhost".equals(hostname))
 			return;
 		
-		List list = getHostnames();
+		List<String> list = getHostnames();
 		
 		// remove duplicates
 		if (list.contains(hostname))
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
index 2fb5020..8912f4b 100644
--- 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
@@ -12,6 +12,9 @@
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 /**
  * Helper class to route trace output.
  */
@@ -24,12 +27,9 @@
 	public static final byte FINER = 5;
 	public static final byte PERFORMANCE = 6;
 	public static final byte EXTENSION_POINT = 7;
-	
-	protected static int pluginLength = -1;
-	
+
 	private static final String[] levelNames = new String[] {
 		"CONFIG ", "INFO   ", "WARNING", "SEVERE ", "FINER  ", "FINEST ", "PERF   ", "EXTENSION"};
-	private static final String spacer = "                                   ";
 
 	private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy HH:mm.ss.SSS");
 
@@ -49,7 +49,7 @@
 	public static void trace(byte level, String s) {
 		trace(level, s, null);
 	}
-	
+
 	/**
 	 * Trace the given message and exception.
 	 *
@@ -58,15 +58,13 @@
 	 * @param t a throwable
 	 */
 	public static void trace(byte level, String s, Throwable t) {
+		if (level == SEVERE)
+			ServerUIPlugin.getInstance().getLog().log(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, s, t));
+		
 		if (!ServerUIPlugin.getInstance().isDebugging())
 			return;
-
-		String pluginId = ServerUIPlugin.PLUGIN_ID;
-		StringBuffer sb = new StringBuffer(pluginId);
-		if (pluginId.length() > pluginLength)
-			pluginLength = pluginId.length();
-		else if (pluginId.length() < pluginLength)
-			sb.append(spacer.substring(0, pluginLength - pluginId.length()));
+		
+		StringBuffer sb = new StringBuffer(ServerUIPlugin.PLUGIN_ID);
 		sb.append(" ");
 		sb.append(levelNames[level]);
 		sb.append(" ");
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
index 518823f..4bde13a 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -25,7 +25,7 @@
  * 
  */
 public abstract class AbstractServerActionDelegate implements IActionDelegate {
-	protected List servers;
+	protected List<IServer> servers;
 
 	/**
 	 * Return true if this server can currently be acted on.
@@ -62,7 +62,7 @@
 	 * @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();
+		servers = new ArrayList<IServer>();
 		if (selection.isEmpty() || !(selection instanceof StructuredSelection)) {
 			action.setEnabled(false);
 			return;
@@ -85,4 +85,4 @@
 		}
 		action.setEnabled(enabled);
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java
deleted file mode 100644
index 0835966..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/DeleteActionDelegate.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.IStructuredSelection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.ui.internal.view.servers.DeleteAction;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-/**
- * 
- */
-public class DeleteActionDelegate implements IWorkbenchWindowActionDelegate {
-	protected IServer[] servers;
-	protected Shell shell;
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		if (window != null)
-			shell = window.getShell();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		if (action != null && action.isEnabled() && servers != null)
-			return;
-		DeleteAction delete = new DeleteAction(shell, servers);
-		delete.run();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		servers = null;
-		if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			action.setEnabled(false);
-			return;
-		}
-
-		IStructuredSelection select = (IStructuredSelection) selection;
-		Iterator iterator = select.iterator();
-		
-		List list = new ArrayList();
-		
-		while (iterator.hasNext()) {
-			Object obj = iterator.next();
-			if (obj instanceof IServer)
-				list.add(obj);
-			else {
-				action.setEnabled(false);
-				return;
-			}
-		}
-		
-		servers = new IServer[list.size()];
-		list.toArray(servers);
-		action.setEnabled(true);
-	}
-}
\ 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
index 1d1cfab..19578f6 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
@@ -57,7 +57,7 @@
 
 	protected static Object globalSelection;
 
-	protected static Map globalLaunchMode;
+	protected static Map<String, Boolean> globalLaunchMode;
 	protected String launchMode = ILaunchManager.RUN_MODE;
 
 	protected boolean tasksAndClientShown;
@@ -444,13 +444,21 @@
 	}
 
 	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());
 		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_LAUNCHABLE_ADAPTER_ID, launchableAdapter.getId());
 		config.setAttribute(RunOnServerLaunchConfigurationDelegate.ATTR_CLIENT_ID, client.getId());
-	}
-
+	}            
+		       
 	protected ILaunchConfiguration getLaunchConfiguration(IServer server, ModuleArtifactDelegate moduleArtifact, ILaunchableAdapter launchableAdapter2, IClient client2, IProgressMonitor monitor) throws CoreException {
 		String serverId = server.getId();
 		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
@@ -498,7 +506,6 @@
 		return wc.doSave();
 	}
 
-	//protected static final char[] INVALID_CHARS = new char[] {'\\', '/', ':', '*', '?', '"', '<', '>', '|', '\0', '@', '&'};
 	protected static final char[] INVALID_CHARS = new char[] {'\\', ':', '*', '?', '"', '<', '>', '|', '\0', '@', '&'};
 	protected String getValidLaunchConfigurationName(String s) {
 		if (s == null || s.length() == 0)
@@ -656,7 +663,7 @@
 
 	protected boolean isEnabled() {
 		try {
-			Boolean b = (Boolean) globalLaunchMode.get(getLaunchMode());
+			Boolean b = globalLaunchMode.get(getLaunchMode());
 			return b.booleanValue();
 		} catch (Exception e) {
 			// ignore
@@ -713,17 +720,20 @@
 			if (selection != null)	
 				Trace.trace(Trace.FINEST, "Selection type: " + selection.getClass().getName());
 			globalSelection = selection;
-			globalLaunchMode = new HashMap();
+			globalLaunchMode = new HashMap<String, Boolean>();
 			if (!ServerPlugin.hasModuleArtifact(globalSelection)) {
 				action.setEnabled(false);
 				return;
 			}
 			
 			Trace.trace(Trace.FINEST, "checking for module artifact");
-			IModuleArtifact[] moduleArtifacts = ServerPlugin.getModuleArtifacts(globalSelection);
-			IModule module = null;
 			// TODO - multiple module artifacts
-			IModuleArtifact moduleArtifact = moduleArtifacts[0];
+			IModuleArtifact[] moduleArtifacts = ServerPlugin.getModuleArtifacts(globalSelection);
+			IModuleArtifact moduleArtifact = null;
+			if (moduleArtifacts != null)
+				moduleArtifact = moduleArtifacts[0];
+			
+			IModule module = null;
 			if (moduleArtifact != null)
 				module = moduleArtifact.getModule();
 			Trace.trace(Trace.FINEST, "moduleArtifact= " + moduleArtifact + ", module= " + module);
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
index e6ebdcd..dd4e082 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -17,7 +17,6 @@
 
 import org.eclipse.core.runtime.*;
 import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IMemento;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.Trace;
 /**
@@ -33,17 +32,17 @@
 	public static final String DISABLED_FILE = "disabled-sounds.xml";
 
 	// Categories - map of String id to String names
-	private Map categories;
+	private Map<String, String> categories;
 
 	// Sounds - map of String id to Sound
-	private Map sounds;
+	private Map<String, Sound> sounds;
 
 	// specific sounds or categories that have been disabled, by id
-	private List disabledSounds;
-	private List disabledCategories;
+	private List<String> disabledSounds;
+	private List<String> disabledCategories;
 
 	// SoundMap - map of String id to an IPath
-	private Map userSoundMap;
+	private Map<String, IPath> userSoundMap;
 
 	/**
 	 * AudioCore constructor comment.
@@ -64,7 +63,7 @@
 	 *
 	 * @return java.util.Map
 	 */
-	protected Map getCategories() {
+	protected Map<String, String> getCategories() {
 		return categories;
 	}
 
@@ -191,7 +190,7 @@
 	 */
 	protected Sound getSound(String id) {
 		try {
-			return (Sound) sounds.get(id);
+			return sounds.get(id);
 		} catch (Exception e) {
 			return null;
 		}
@@ -202,7 +201,7 @@
 	 *
 	 * @return java.util.Map
 	 */
-	protected Map getSounds() {
+	protected Map<String, Sound> getSounds() {
 		return sounds;
 	}
 
@@ -211,7 +210,7 @@
 	 *
 	 * @return java.util.Map
 	 */
-	protected Map getUserSoundMap() {
+	protected Map<String, IPath> getUserSoundMap() {
 		if (userSoundMap == null)
 			loadSoundMap();
 		return userSoundMap;
@@ -228,7 +227,7 @@
 			if (userSoundMap == null)
 				loadSoundMap();
 	
-			IPath path = (IPath) userSoundMap.get(id);
+			IPath path = userSoundMap.get(id);
 			if (path != null)
 				return path;
 		} catch (Exception e) {
@@ -303,8 +302,8 @@
 		String filename = ServerUIPlugin.getInstance().getStateLocation().append(DISABLED_FILE).toOSString();
 	
 		FileInputStream in = null;
-		disabledCategories = new ArrayList();
-		disabledSounds = new ArrayList();
+		disabledCategories = new ArrayList<String>();
+		disabledSounds = new ArrayList<String>();
 		try {
 			in = new FileInputStream(filename);
 			IMemento memento = XMLMemento.loadMemento(in);
@@ -360,8 +359,8 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "audio");
 	
 		int size = cf.length;
-		categories = new HashMap();
-		sounds = new HashMap();
+		categories = new HashMap<String, String>();
+		sounds = new HashMap<String, Sound>();
 	
 		for (int i = 0; i < size; i++) {
 			try {
@@ -397,7 +396,7 @@
 		String filename = ServerUIPlugin.getInstance().getStateLocation().append(SOUNDS_FILE).toOSString();
 	
 		InputStream in = null;
-		userSoundMap = new HashMap();
+		userSoundMap = new HashMap<String, IPath>();
 		try {
 			in = new FileInputStream(filename);
 			IMemento memento = XMLMemento.loadMemento(in);
@@ -444,7 +443,7 @@
 			return;
 	
 		try {
-			Sound sound = (Sound) sounds.get(id);
+			Sound sound = sounds.get(id);
 			String category = sound.getCategory();
 			if (category != null && categories.containsKey(category)) {
 				if (!isCategoryEnabled(category))
@@ -570,7 +569,7 @@
 				IMemento child = memento.createChild("map");
 				String id = (String) iterator.next();
 				child.putString("id", id);
-				IPath path = (IPath) userSoundMap.get(id);
+				IPath path = userSoundMap.get(id);
 				child.putString("path", path.toString());
 			}
 	
@@ -676,7 +675,7 @@
 	 *
 	 * @param map the sound map
 	 */
-	protected void setUserSoundMap(Map map) {
+	protected void setUserSoundMap(Map<String, IPath> map) {
 		if (map != null) {
 			userSoundMap = map;
 			saveSoundMap();
@@ -691,4 +690,4 @@
 	public void setVolume(int volume) {
 		getPreferenceStore().setValue(PREF_VOLUME, volume);
 	}
-}
\ No newline at end of file
+}
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
index 4f75ee9..fa4ea35 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -40,7 +40,7 @@
 	protected Button enableButton;
 	protected Spinner volume;
 
-	protected Map userSoundMap;
+	protected Map<String, IPath> userSoundMap;
 
 	protected CategoryTableViewer viewer;
 	
@@ -305,13 +305,13 @@
 	protected void setCheckState(CheckboxTableViewer viewer) {
 		AudioCore core = AudioCore.getInstance();
 		
-		Map categories = core.getCategories();
+		Map<String, String> categories = core.getCategories();
 		
 		// first, find all the categories and sort
-		List cats = new ArrayList();
+		List<String> cats = new ArrayList<String>();
 		Iterator iterator = categories.keySet().iterator();
 		while (iterator.hasNext())
-			cats.add(iterator.next());
+			cats.add((String)iterator.next());
 		
 		// list them, ignoring empty ones
 		iterator = categories.keySet().iterator();
@@ -350,7 +350,7 @@
 	 */
 	protected URL getSoundURL(String id) {
 		try {
-			IPath path = (IPath) userSoundMap.get(id);
+			IPath path = userSoundMap.get(id);
 			if (path != null)
 				return path.toFile().toURL();
 		} catch (Exception e) {
@@ -367,7 +367,7 @@
 	 */
 	protected IPath getUserSoundPath(String id) {
 		try {
-			IPath path = (IPath) userSoundMap.get(id);
+			IPath path = userSoundMap.get(id);
 			if (path != null)
 				return path;
 		} catch (Exception e) {
@@ -394,13 +394,13 @@
 	 */
 	protected void loadUserMapInfo() {
 		// create a copy of the user sound map
-		Map map = AudioCore.getInstance().getUserSoundMap();
-		userSoundMap = new HashMap(map.size());
-	
+		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 = (IPath) map.get(id);
+			IPath path = map.get(id);
 			userSoundMap.put(id, path);
 		}
 	}
@@ -414,7 +414,7 @@
 		enableButton.setSelection(core.getDefaultSoundsEnabled());
 		volume.setSelection(core.getDefaultVolume());
 	
-		userSoundMap = new HashMap();
+		userSoundMap = new HashMap<String, IPath>();
 		viewer.refresh();
 	
 		super.performDefaults();
@@ -448,7 +448,7 @@
 	protected void saveUserMapInfo() {
 		// create a copy of the user sound map
 		Map map = AudioCore.getInstance().getUserSoundMap();
-		userSoundMap = new HashMap(map.size());
+		userSoundMap = new HashMap<String, IPath>(map.size());
 	
 		Iterator iterator = map.keySet().iterator();
 		while (iterator.hasNext()) {
@@ -465,4 +465,4 @@
 	protected void setUserSoundPath(String id, IPath path) {
 		userSoundMap.put(id, path);
 	}
-}
\ No newline at end of file
+}
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
index 2d2c34f..c4c1ae6 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -46,23 +46,23 @@
 	public Object[] getElements(Object inputElement) {
 		AudioCore core = AudioCore.getInstance();
 	
-		Map categories = core.getCategories();
-		Map sounds = core.getSounds();
+		Map<String, String> categories = core.getCategories();
+		Map<String, Sound> sounds = core.getSounds();
 	
-		List list = new ArrayList(sounds.size());
+		List<Object> list = new ArrayList<Object>(sounds.size());
 	
 		// first, find all the categories and sort
-		List cats = new ArrayList();
+		List<String> cats = new ArrayList<String>();
 		Iterator iterator = categories.keySet().iterator();
 		while (iterator.hasNext())
-			cats.add(iterator.next());
+			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 l = getSoundsByCategory(id);
+			List<Sound> l = getSoundsByCategory(id);
 			if (!l.isEmpty()) {
 				list.add(id);
 				sortSounds(l);
@@ -74,7 +74,7 @@
 		}
 	
 		// finally, list the "misc" sounds
-		List l = getSoundsByCategory(null);
+		List<Sound> l = getSoundsByCategory(null);
 		if (!l.isEmpty()) {
 			list.add(MISC_CATEGORY);
 			sortSounds(l);
@@ -95,17 +95,17 @@
 	 * @return java.util.List
 	 * @param category java.lang.String
 	 */
-	protected static List getSoundsByCategory(String category) {
+	protected static List<Sound> getSoundsByCategory(String category) {
 		AudioCore core = AudioCore.getInstance();
 	
-		Map sounds = core.getSounds();
-		Map categories = core.getCategories();
-		List list = new ArrayList();
+		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 = (Sound) sounds.get(id);
+			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())))
@@ -139,19 +139,19 @@
 	 *
 	 * @param list java.util.List
 	 */
-	protected void sortCategories(List list) {
+	protected void sortCategories(List<String> list) {
 		int size = list.size();
 		if (size < 2)
 			return;
-	
-		Map categories = AudioCore.getInstance().getCategories();
-	
+		
+		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 = (String) list.get(i);
-				String aa = (String) categories.get(a);
-				String b = (String) list.get(j);
-				String bb = (String) categories.get(b);
+				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);
@@ -165,15 +165,15 @@
 	 *
 	 * @param sounds java.util.List
 	 */
-	protected void sortSounds(List sounds) {
+	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 = (Sound) sounds.get(i);
-				Sound b = (Sound) sounds.get(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);
@@ -181,4 +181,4 @@
 			}
 		}
 	}
-}
\ 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
new file mode 100644
index 0000000..6f149f5
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/IMemento.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * 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/XMLMemento.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/audio/XMLMemento.java
index de3c1de..890cbaa 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -18,8 +18,6 @@
 import javax.xml.transform.*;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.ui.IMemento;
 /**
  * A Memento is a class independent container for persistence
  * info.  It is a reflection of 3 storage requirements.
@@ -34,7 +32,7 @@
  * ObjectOutputStream, DataOutputStream, or Hashtable.  However 
  * all of these approaches fail to meet the second requirement.
  *
- * Memento supports binary persistance with a version ID.
+ * Memento supports binary persistence with a version ID.
  */
 public final class XMLMemento implements IMemento {
 	private Document factory;
@@ -58,17 +56,7 @@
 		element.appendChild(child);
 		return new XMLMemento(factory, child);
 	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public IMemento createChild(String type, String id) {
-		Element child = factory.createElement(type);
-		child.setAttribute(TAG_ID, id);
-		element.appendChild(child);
-		return new XMLMemento(factory, child);
-	}
-	
+
 	/**
 	 * Create a Document from a Reader and answer a root memento for reading 
 	 * a document.
@@ -87,14 +75,14 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * Answer a root memento for writing a document.
 	 * 
 	 * @param type a type
 	 * @return a memento
 	 */
-	public static XMLMemento createWriteRoot(String type) {
+	protected static XMLMemento createWriteRoot(String type) {
 		Document document;
 		try {
 			document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
@@ -143,7 +131,7 @@
 			return new IMemento[0];
 	
 		// Extract each node with given type.
-		ArrayList list = new ArrayList(size);
+		List<Element> list = new ArrayList<Element>(size);
 		for (int nX = 0; nX < size; nX ++) {
 			Node node = nodes.item(nX);
 			if (node instanceof Element) {
@@ -157,48 +145,11 @@
 		size = list.size();
 		IMemento [] results = new IMemento[size];
 		for (int x = 0; x < size; x ++) {
-			results[x] = new XMLMemento(factory, (Element)list.get(x));
+			results[x] = new XMLMemento(factory, list.get(x));
 		}
 		return results;
 	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public Float getFloat(String key) {
-		Attr attr = element.getAttributeNode(key);
-		if (attr == null)
-			return null; 
-		String strValue = attr.getValue();
-		try {
-			return new Float(strValue);
-		} catch (NumberFormatException e) {
-			return null;
-		}
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public String getID() {
-		return element.getAttribute(TAG_ID);
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public 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
 	 */
@@ -235,51 +186,7 @@
 		}
 		return null;
 	}
-	
-	/*
-	 * @see IMemento
-	 */
-	private void putElement(Element element2) {
-		NamedNodeMap nodeMap = element2.getAttributes();
-		int size = nodeMap.getLength();
-		for (int i = 0; i < size; i++){
-			Attr attr = (Attr)nodeMap.item(i);
-			putString(attr.getName(),attr.getValue());
-		}
-					
-		NodeList nodes = element2.getChildNodes();
-		size = nodes.getLength();
-		for (int i = 0; i < size; i ++) {
-			Node node = nodes.item(i);
-			if (node instanceof Element) {
-				XMLMemento child = (XMLMemento)createChild(node.getNodeName());
-				child.putElement((Element)node);
-			}
-		}
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public void putFloat(String key, float f) {
-		element.setAttribute(key, String.valueOf(f));
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public void putInteger(String key, int n) {
-		element.setAttribute(key, String.valueOf(n));
-	}
-	
-	/*
-	 * @see IMemento
-	 */
-	public void putMemento(IMemento memento) {
-		XMLMemento xmlMemento = (XMLMemento) memento;
-		putElement(xmlMemento.element);
-	}
-	
+
 	/*
 	 * @see IMemento
 	 */
@@ -288,7 +195,7 @@
 			return;
 		element.setAttribute(key, value);
 	}
-	
+
 	/**
 	 * Save this Memento to a Writer.
 	 */
@@ -309,26 +216,4 @@
 			throw (IOException) (new IOException().initCause(e));
 		}
 	}
-
-	/**
-	 * Returns the data of the Text node of the memento. Each memento is allowed
-	 * only one Text node.
-	 * 
-	 * @return the data of the Text node of the memento, or <code>null</code>
-	 * if the memento has no Text node.
-	 */
-	public String getTextData() {
-		return null;
-	}
-	
-	/**
-	 * Sets the memento's Text node to contain the given data. Creates the Text node if
-	 * none exists. If a Text node does exist, it's current contents are replaced. 
-	 * Each memento is allowed only one text node.
-	 *
-	 * @param data the data to be placed on the Text node
-	 */
-	public void putTextData(String data) {
-		// do nothing
-	}
 }
\ 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
new file mode 100644
index 0000000..c90c154
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStartTimeoutCommand.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * 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.getStartTimeoutSetting();
+		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
new file mode 100644
index 0000000..6730c79
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/command/SetServerStopTimeoutCommand.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * 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.getStopTimoutSetting();
+		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
index 2f8bd4c..94fa910 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/GlobalCommandManager.java
@@ -28,7 +28,6 @@
 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.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.Trace;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
@@ -45,13 +44,13 @@
 	}
 
 	// commands in the undo history
-	protected List undoList = new ArrayList();
+	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 redoList = new ArrayList();
+	protected List<ServerResourceCommand> redoList = new ArrayList<ServerResourceCommand>();
 
 	class CommandManagerInfo {
 		// number of open editors on this resource
@@ -71,15 +70,15 @@
 		IServerWorkingCopy wc;
 		
 		// files and timestamps
-		Map fileMap;
+		Map<IFile, Long> fileMap;
 		
 		int timestamp;
 	}
 
-	protected Map commandManagers = new HashMap();
+	protected Map<String, CommandManagerInfo> commandManagers = new HashMap<String, CommandManagerInfo>();
 
 	// property change listeners
-	protected List propertyListeners;
+	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";
@@ -100,7 +99,7 @@
 	 */
 	public void addPropertyChangeListener(PropertyChangeListener listener) {
 		if (propertyListeners == null)
-			propertyListeners = new ArrayList();
+			propertyListeners = new ArrayList<PropertyChangeListener>();
 		propertyListeners.add(listener);
 	}
 
@@ -147,7 +146,7 @@
 	public void getCommandManager(String id) {
 		Trace.trace(Trace.FINEST, "Getting command manager for " + id);
 		try {
-			CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id);
+			CommandManagerInfo info = commandManagers.get(id);
 			if (info != null) {
 				info.count ++;
 				return;
@@ -183,7 +182,7 @@
 	public void releaseCommandManager(String id) {
 		Trace.trace(Trace.FINEST, "Releasing command manager for " + id);
 		try {
-			CommandManagerInfo info = (CommandManagerInfo) commandManagers.get(id);
+			CommandManagerInfo info = commandManagers.get(id);
 			if (info != null) {
 				info.count --;
 				if (info.count == 0) {
@@ -228,7 +227,7 @@
 	 */
 	protected CommandManagerInfo getExistingCommandManagerInfo(String id) {
 		try {
-			return (CommandManagerInfo) commandManagers.get(id);
+			return commandManagers.get(id);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Could not find existing command manager info");
 		}
@@ -275,19 +274,19 @@
 
 	/**
 	 * Execute the given command and place it in the undo stack.
-	 * If the command cannot be undone, the user will be notifed
+	 * 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) {
-		if (!command.canUndo() && !undoList.isEmpty() && ServerUIPlugin.getPreferences().getPromptBeforeIrreversibleChange()) {
+		if (!command.canUndo() && !undoList.isEmpty()) {
 			try {
 				Display d = Display.getCurrent();
 				if (d == null)
 					d = Display.getDefault();
-		
+				
 				Shell shell = d.getActiveShell();
 				if (!MessageDialog.openConfirm(shell, Messages.editorServerEditor, Messages.editorPromptIrreversible))
 					return;
@@ -299,13 +298,13 @@
 		ServerResourceCommand src = new ServerResourceCommand();
 		src.id = id;
 		src.command = command;
-
+		
 		try {
 			command.execute(new NullProgressMonitor(), null);
 		} catch (ExecutionException ce) {
 			return;
 		}
-
+		
 		CommandManagerInfo info = getExistingCommandManagerInfo(id);
 		if (info == null)
 			return;
@@ -343,7 +342,7 @@
 		int i = 0;
 		boolean modified = false;
 		while (i < undoList.size()) {
-			ServerResourceCommand src = (ServerResourceCommand) undoList.get(i);
+			ServerResourceCommand src = undoList.get(i);
 			if (src.id.equals(id)) {
 				modified = true;
 				undoList.remove(i);
@@ -361,7 +360,7 @@
 		int i = 0;
 		boolean modified = false;
 		while (i < redoList.size()) {
-			ServerResourceCommand src = (ServerResourceCommand) redoList.get(i);
+			ServerResourceCommand src = redoList.get(i);
 			if (src.id.equals(id)) {
 				redoList.remove(i);
 				modified = true;
@@ -409,7 +408,7 @@
 	public IUndoableOperation getUndoCommand(String a) {
 		int size = undoList.size();
 		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = (ServerResourceCommand) undoList.get(i);
+			ServerResourceCommand src = undoList.get(i);
 			if (src.id == a)
 				return src.command;
 		}
@@ -425,7 +424,7 @@
 	public IUndoableOperation getRedoCommand(String a) {
 		int size = redoList.size();
 		for (int i = size - 1; i >= 0; i--) {
-			ServerResourceCommand src = (ServerResourceCommand) redoList.get(i);
+			ServerResourceCommand src = redoList.get(i);
 			if (src.id == a)
 				return src.command;
 		}
@@ -581,7 +580,7 @@
 	 */
 	public static IFile[] getReadOnlyFiles(IServerAttributes server) {
 		try {
-			List list = new ArrayList();
+			List<IFile> list = new ArrayList<IFile>();
 			IFile file = ((Server)server).getFile();
 			
 			if (file != null)
@@ -611,7 +610,7 @@
 	}
 
 	protected IFile[] getReadOnlyFiles(String id) {
-		List list = new ArrayList();
+		List<IFile> list = new ArrayList<IFile>();
 		IFile[] files = getServerResourceFiles(id);
 		int size = files.length;
 		for (int i = 0; i < size; i++) {
@@ -634,7 +633,7 @@
 		if (info == null)
 			return;
 		
-		info.fileMap = new HashMap();
+		info.fileMap = new HashMap<IFile, Long>();
 		IFile[] files = getServerResourceFiles(id);
 		if (files != null) {
 			int size = files.length;
@@ -675,7 +674,7 @@
 			count++;
 			File f = files[i].getLocation().toFile();
 			try {
-				Long time = (Long) info.fileMap.get(files[i]);
+				Long time = info.fileMap.get(files[i]);
 				if (time.longValue() != f.lastModified())
 					return true;
 			} catch (Exception e) {
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
index 5046715..332cae8 100644
--- 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
@@ -21,16 +21,22 @@
 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.preference.PreferenceDialog;
 import org.eclipse.jface.window.Window;
-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.Image;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
@@ -46,12 +52,15 @@
 import org.eclipse.ui.dialogs.ContainerSelectionDialog;
 import org.eclipse.ui.dialogs.PreferencesUtil;
 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.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.editor.*;
@@ -70,7 +79,7 @@
  */
 public class OverviewEditorPart extends ServerEditorPart {
 	protected Text serverName;
-	protected Text serverConfigurationName;
+	protected Text serverConfiguration;
 	protected Text hostname;
 	protected Combo runtimeCombo;
 	protected Button browse;
@@ -78,9 +87,8 @@
 	protected Button autoPublishDisable;
 	protected Button autoPublishOverride;
 	protected Spinner autoPublishTime;
-
-	protected Color colorDefault;
-	protected Color colorRed;
+	protected Spinner startTimeoutSpinner;
+	protected Spinner stopTimeoutSpinner;
 
 	protected boolean updating;
 
@@ -103,14 +111,8 @@
 	protected void addChangeListener() {
 		listener = new PropertyChangeListener() {
 			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getPropertyName().equals("configuration-id") && serverConfigurationName != null) {
-					IFolder folder = getServer().getServerConfiguration();
-					if (folder == null || !folder.exists())
-						serverConfigurationName.setForeground(colorRed);
-					else
-						serverConfigurationName.setForeground(colorDefault);
-				}
-				validate();
+				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
@@ -160,9 +162,9 @@
 								runtimeCombo.select(i);
 						}
 					}
-				} else if (event.getPropertyName().equals("configuration-id") && serverConfigurationName != null) {
+				} else if (event.getPropertyName().equals("configuration-id") && serverConfiguration != null) {
 					String path = (String) event.getNewValue();
-					serverConfigurationName.setText(path);
+					serverConfiguration.setText(path);
 				} else if (event.getPropertyName().equals(Server.PROP_AUTO_PUBLISH_TIME)) {
 					Integer curAutoPublishTime = (Integer)event.getNewValue();
 					autoPublishTime.setSelection(curAutoPublishTime.intValue());
@@ -194,9 +196,10 @@
 	 * @param parent the parent control
 	 */
 	public final void createPartControl(final Composite parent) {
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
-		
-		ScrolledForm form = toolkit.createScrolledForm(parent);
+		IManagedForm mForm = new ManagedForm(parent);
+		setManagedForm(mForm);
+		ScrolledForm form = mForm.getForm();
+		FormToolkit toolkit = mForm.getToolkit();
 		toolkit.decorateFormHeading(form.getForm());
 		form.setText(Messages.serverEditorOverviewPageTitle);
 		form.setImage(ImageResource.getImage(ImageResource.IMG_SERVER));
@@ -237,6 +240,7 @@
 		rightColumnComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
 		
 		createAutoPublishSection(rightColumnComp, toolkit);
+		createTimeoutSection(rightColumnComp, toolkit);
 		
 		insertSections(rightColumnComp, "org.eclipse.wst.server.editor.overview.right");
 		
@@ -265,6 +269,8 @@
 		toolkit.paintBordersFor(composite);
 		section.setClient(composite);
 		
+		int decorationWidth = FieldDecorationRegistry.getDefault().getMaximumDecorationWidth(); 
+		
 		// server name
 		if (server != null) {
 			createLabel(toolkit, composite, Messages.serverEditorOverviewServerName);
@@ -272,6 +278,7 @@
 			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) {
@@ -280,16 +287,19 @@
 					updating = true;
 					execute(new SetServerNameCommand(getServer(), serverName.getText()));
 					updating = false;
+					validate();
 				}
 			});
 			whs.setHelp(serverName, ContextIds.EDITOR_SERVER);
-		
+			
 			// hostname
 			createLabel(toolkit, composite, Messages.serverEditorOverviewServerHostname);
 			
 			hostname = toolkit.createText(composite, server.getHost());
+			final ControlDecoration 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) {
@@ -301,18 +311,48 @@
 				}
 			});
 			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 IRuntime runtime = server.getRuntime();
-			createLabel(toolkit, composite, Messages.serverEditorOverviewRuntime);
+			Hyperlink link = toolkit.createHyperlink(composite, Messages.serverEditorOverviewRuntime, SWT.NONE);
+			link.addHyperlinkListener(new HyperlinkAdapter() {
+				public void linkActivated(HyperlinkEvent e) {
+					editRuntime(runtime);
+				}
+			});
 			
 			IRuntimeType runtimeType = server.getServerType().getRuntimeType();
 			runtimes = ServerUIPlugin.getRuntimes(runtimeType);
 			
 			runtimeCombo = new Combo(composite, SWT.READ_ONLY);
-			runtimeCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+			GridData data = new GridData(GridData.FILL_HORIZONTAL);
+			data.horizontalIndent = decorationWidth;
+			data.horizontalSpan = 2;
+			runtimeCombo.setLayoutData(data);
 			updateRuntimeCombo();
 			
 			int size = runtimes.length;
@@ -340,14 +380,6 @@
 			});
 			whs.setHelp(runtimeCombo, ContextIds.EDITOR_RUNTIME);
 			
-			Hyperlink link = toolkit.createHyperlink(composite, Messages.serverEditorOverviewRuntimeEdit, SWT.NONE);
-			link.addHyperlinkListener(new HyperlinkAdapter() {
-				public void linkActivated(HyperlinkEvent e) {
-					editRuntime(runtime);
-				}
-			});
-			link.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-			
 			// add runtime listener
 			runtimeListener = new IRuntimeLifecycleListener() {
 				public void runtimeChanged(final IRuntime runtime2) {
@@ -421,25 +453,22 @@
 			
 			IFolder folder = server.getServerConfiguration();
 			if (folder == null)
-				serverConfigurationName = toolkit.createText(composite, Messages.elementUnknownName);
+				serverConfiguration = toolkit.createText(composite, Messages.elementUnknownName);
 			else
-				serverConfigurationName = toolkit.createText(composite, "" + server.getServerConfiguration().getFullPath());
-			colorDefault = serverConfigurationName.getForeground();
-			colorRed = serverConfigurationName.getDisplay().getSystemColor(SWT.COLOR_RED); 
-			if (folder == null || !folder.exists())
-				serverConfigurationName.setForeground(colorRed);
-			//if (!server.getServerConfiguration().getFullPath().toFile().exists())
+				serverConfiguration = toolkit.createText(composite, "" + server.getServerConfiguration().getFullPath());
 			
-			serverConfigurationName.setEditable(false);
-			serverConfigurationName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+			serverConfiguration.setEditable(false);
+			GridData data = new GridData(GridData.FILL_HORIZONTAL);
+			data.horizontalIndent = decorationWidth;
+			serverConfiguration.setLayoutData(data);
 			
-			whs.setHelp(serverConfigurationName, ContextIds.EDITOR_CONFIGURATION);
+			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(serverConfigurationName.getShell(),
+					ContainerSelectionDialog dialog = new ContainerSelectionDialog(serverConfiguration.getShell(),
 						currentFolder, true, Messages.serverEditorOverviewServerConfigurationBrowseMessage);
 					dialog.showClosedProjects(false);
 					
@@ -457,7 +486,7 @@
 									return;
 								updating = true;
 								execute(new SetServerConfigurationFolderCommand(getServer(), folder2));
-								serverConfigurationName.setText(folder2.getFullPath().toString());
+								serverConfiguration.setText(folder2.getFullPath().toString());
 								updating = false;
 							}
 						}
@@ -617,6 +646,108 @@
 			});
 		}
 	}
+	
+	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 = 4;
+		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 = toolkit.createLabel(composite, Messages.serverEditorOverviewStartTimeout);
+			GridData data = new GridData();
+			data.horizontalIndent = 20;
+			startTimeoutLabel.setLayoutData(data);			
+			
+			startTimeoutSpinner = new Spinner(composite, SWT.BORDER);
+			startTimeoutSpinner.setEnabled(true);
+			startTimeoutSpinner.setMinimum(0);
+			startTimeoutSpinner.setMaximum(1000*60*30); // 30 minutes
+			startTimeoutSpinner.setSelection(svr.getStartTimeoutSetting());
+			setSpinnerTooltip(startTimeoutSpinner);
+			data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+			data.widthHint = 60;
+			startTimeoutSpinner.setLayoutData(data);
+
+			// stop timeout label
+			final Label stopTimeoutLabel = toolkit.createLabel(composite, Messages.serverEditorOverviewStopTimeout);
+			data = new GridData();
+			data.horizontalIndent = 20;
+			stopTimeoutLabel.setLayoutData(data);			
+			
+			stopTimeoutSpinner = new Spinner(composite, SWT.BORDER);
+			stopTimeoutSpinner.setEnabled(true);
+			stopTimeoutSpinner.setMinimum(0);
+			stopTimeoutSpinner.setMaximum(1000*60*30); // 30 minutes
+			stopTimeoutSpinner.setSelection(svr.getStopTimoutSetting());
+			setSpinnerTooltip(stopTimeoutSpinner);
+			data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+			data.widthHint = 60;
+			stopTimeoutSpinner.setLayoutData(data);
+			
+			startTimeoutSpinner.addModifyListener(new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					if (updating)
+						return;
+					updating = true;
+					try {
+						setSpinnerTooltip(startTimeoutSpinner);
+						execute(new SetServerStartTimeoutCommand(getServer(), startTimeoutSpinner.getSelection()));
+					} catch (Exception ex) {
+						// ignore
+					}
+					updating = false;
+					validate();
+				}
+			});
+			stopTimeoutSpinner.addModifyListener(new ModifyListener(){
+				public void modifyText(ModifyEvent e) {
+					if (updating)
+						return;
+					updating = true;
+					try {
+						setSpinnerTooltip(stopTimeoutSpinner);
+						execute(new SetServerStopTimeoutCommand(getServer(), stopTimeoutSpinner.getSelection()));
+					} catch (Exception ex) {
+						// ignore
+					}
+					updating = false;
+					validate();			
+				}
+			});
+		}
+	}
+
+	protected void setSpinnerTooltip(Spinner spinner) {
+		float miliSeconds = new Float(spinner.getSelection()).floatValue();		
+		float seconds = miliSeconds / 1000f;
+		
+		if (seconds < 60) {
+			spinner.setToolTipText(  seconds +" seconds");
+			return;
+		}
+		
+		int minutes = new Float(seconds).intValue() / 60;		
+		spinner.setToolTipText(  minutes +" minutes");		
+	}
 
 	protected void editRuntime(IRuntime runtime) {
 		IRuntimeWorkingCopy runtimeWorkingCopy = runtime.createWorkingCopy();
@@ -645,7 +776,7 @@
 		taskModel.putObject(TaskModel.TASK_RUNTIME, runtimeWorkingCopy);
 
 		WizardFragment fragment = new WizardFragment() {
-			protected void createChildFragments(List list) {
+			protected void createChildFragments(List<WizardFragment> list) {
 				list.add(fragment2);
 				list.add(WizardTaskUtil.SaveRuntimeFragment);
 			}
@@ -662,7 +793,7 @@
 		runtimes = ServerUIPlugin.getRuntimes(runtimeType);
 		
 		if (SocketUtil.isLocalhost(server.getHost()) && runtimes != null) {
-			List runtimes2 = new ArrayList();
+			List<IRuntime> runtimes2 = new ArrayList<IRuntime>();
 			int size = runtimes.length;
 			for (int i = 0; i < size; i++) {
 				IRuntime runtime2 = runtimes[i];
@@ -742,17 +873,17 @@
 					runtimeCombo.setEnabled(true);
 			}
 			
-			if (serverConfigurationName != null) {
+			if (serverConfiguration != null) {
 				IFolder folder = server.getServerConfiguration();
 				if (folder == null)
-					serverConfigurationName.setText(Messages.elementUnknownName);
+					serverConfiguration.setText(Messages.elementUnknownName);
 				else
-					serverConfigurationName.setText("" + server.getServerConfiguration().getFullPath());
+					serverConfiguration.setText("" + server.getServerConfiguration().getFullPath());
 				if (readOnly) {
-					serverConfigurationName.setEditable(false);
+					serverConfiguration.setEditable(false);
 					browse.setEnabled(false);
 				} else {
-					serverConfigurationName.setEditable(true);
+					serverConfiguration.setEditable(true);
 					browse.setEnabled(true);
 				}
 			}
@@ -782,23 +913,57 @@
 	}
 
 	protected void validate() {
-		if (server != null && server.getServerType() != null && server.getServerType().hasServerConfiguration()) {
-			IFolder folder = getServer().getServerConfiguration();
-			if (folder == null || !folder.exists()) {
-				setErrorMessage(Messages.errorMissingConfiguration);
-				return;
+		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.WARNING, 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())
+					mForm.getMessageManager().addMessage("config", Messages.errorMissingConfiguration, null, IMessageProvider.WARNING, serverConfiguration);
 			}
 		}
 		
+		mForm.getMessageManager().removeMessage("auto-publish", autoPublishTime);
 		if (autoPublishTime != null && autoPublishTime.isEnabled() && autoPublishOverride.getSelection()) {
 			int i = autoPublishTime.getSelection();
-			if (i < 1) {
-				setErrorMessage(NLS.bind(Messages.serverEditorOverviewAutoPublishInvalid, "1"));
-				return;
-			}
+			if (i < 1)
+				mForm.getMessageManager().addMessage("auto-publish", Messages.serverEditorOverviewAutoPublishInvalid, null, IMessageProvider.WARNING, autoPublishTime);
 		}
 		
-		setErrorMessage(null);
+		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();
+		}
 	}
 
 	/*
@@ -807,7 +972,7 @@
 	public void setFocus() {
 		if (serverName != null)
 			serverName.setFocus();
-		else if (serverConfigurationName != null)
-			serverConfigurationName.setFocus();
+		else if (serverConfiguration != null)
+			serverConfiguration.setFocus();
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
index d7b134e..6d6a8cd 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditor.java
@@ -118,7 +118,7 @@
 
 	protected IAction[] editorActions;
 
-	protected java.util.List serverPages;
+	protected java.util.List<IEditorPart> serverPages;
 
 	// on focus change flag
 	protected boolean resourceDeleted;
@@ -136,7 +136,7 @@
 	// used for disabling resource change check when saving through editor
 	protected boolean isSaving = false;
 
-	protected Map pageToFactory = new HashMap();
+	protected Map<IEditorPart, IServerEditorPartFactory> pageToFactory = new HashMap<IEditorPart, IServerEditorPartFactory>();
 
 	/**
 	 * ServerEditor constructor comment.
@@ -179,7 +179,7 @@
 	}
 
 	protected void createActions() {
-		List actionList = new ArrayList();
+		List<IAction> actionList = new ArrayList<IAction>();
 		
 		// add server actions
 		if (server != null && server.getServerType() != null) {
@@ -198,7 +198,7 @@
 
 	public IServerEditorPartFactory getPageFactory(ServerEditorPart part) {
 		try {
-			return (IServerEditorPartFactory) pageToFactory.get(part);
+			return pageToFactory.get(part);
 		} catch (Exception e) {
 			// ignore
 		}
@@ -214,7 +214,7 @@
 	protected void createPages() {
 		try {
 			int index = 0;
-			serverPages = new ArrayList();
+			serverPages = new ArrayList<IEditorPart>();
 			
 			// add editor pages
 			int pageCount = 0;
@@ -312,33 +312,41 @@
 		isSaving = true;
 		
 		// check pages for errors first
-		java.util.List errors = new ArrayList();
+		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++)
+					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()) {
+		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");
-
-			EclipseUtil.openError(getEditorSite().getShell(), sb.toString());
-			monitor.setCanceled(true);
-			// reset the isSaving flag
-			isSaving = false;
-			return;
+			
+			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 {
@@ -392,7 +400,7 @@
 	/**
 	 * Fire a property change event.
 	 *
-	 * @param i int
+	 * @param i a property change value
 	 */
 	protected void firePropertyChange(int i) {
 		if (i == ServerEditorPart.PROP_ERROR)
@@ -664,8 +672,11 @@
 				if (server2 != null)
 					serverId = server2.getId();
 			}
-			if (serverId == null)
+			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();
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
index b40e649..1b17896 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -86,7 +86,7 @@
 	 */
 	public String[] getTypeIds() {
 		try {
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
@@ -161,4 +161,4 @@
 			return null;
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorCore.java
index be70c84..9cf30ce 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -24,8 +24,8 @@
  */
 public class ServerEditorCore {
 	// cached copy of all editor factories and actions
-	private static List editorPageFactories;
-	private static List editorPageSectionFactories;
+	private static List<ServerEditorPartFactory> editorPageFactories;
+	private static List<ServerEditorPageSectionFactory> editorPageSectionFactories;
 	private static List editorActionFactories;
 
 	/**
@@ -33,7 +33,7 @@
 	 *
 	 * @return java.util.List
 	 */
-	public static List getServerEditorPageFactories() {
+	public static List<ServerEditorPartFactory> getServerEditorPageFactories() {
 		if (editorPageFactories == null)
 			loadEditorPageFactories();
 		return editorPageFactories;
@@ -57,7 +57,7 @@
 		Trace.trace(Trace.CONFIG, "->- Loading .editorPages extension point ->-");
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGES);
-		List list = new ArrayList(cf.length);
+		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(cf.length);
 		loadEditorPageFactories(cf, list);
 		editorPageFactories = list;
 		ServerUIPlugin.addRegistryListener();
@@ -67,7 +67,7 @@
 	/**
 	 * Load the editor page factory extension point.
 	 */
-	private static void loadEditorPageFactories(IConfigurationElement[] cf, List list) {
+	private static void loadEditorPageFactories(IConfigurationElement[] cf, List<ServerEditorPartFactory> list) {
 		int size = cf.length;
 		for (int i = 0; i < size; i++) {
 			try {
@@ -88,7 +88,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List list = new ArrayList(editorPageFactories);
+		List<ServerEditorPartFactory> list = new ArrayList<ServerEditorPartFactory>(editorPageFactories);
 		if (delta.getKind() == IExtensionDelta.ADDED)
 			loadEditorPageFactories(cf, list);
 		else {
@@ -115,7 +115,7 @@
 		Trace.trace(Trace.CONFIG, "->- Loading .editorPageSections extension point ->-");
 		IExtensionRegistry registry = Platform.getExtensionRegistry();
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, ServerUIPlugin.EXTENSION_EDITOR_PAGE_SECTIONS);
-		List list = new ArrayList(cf.length);
+		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(cf.length);
 		loadEditorPageSectionFactories(cf, list);
 		editorPageSectionFactories = list;
 		ServerUIPlugin.addRegistryListener();
@@ -125,7 +125,7 @@
 	/**
 	 * Load the editor page section factory extension point.
 	 */
-	private static void loadEditorPageSectionFactories(IConfigurationElement[] cf, List list) {
+	private static void loadEditorPageSectionFactories(IConfigurationElement[] cf, List<ServerEditorPageSectionFactory> list) {
 		int size = cf.length;
 		for (int i = 0; i < size; i++) {
 			try {
@@ -146,7 +146,7 @@
 		
 		IConfigurationElement[] cf = delta.getExtension().getConfigurationElements();
 		
-		List list = new ArrayList(editorPageSectionFactories);
+		List<ServerEditorPageSectionFactory> list = new ArrayList<ServerEditorPageSectionFactory>(editorPageSectionFactories);
 		if (delta.getKind() == IExtensionDelta.ADDED)
 			loadEditorPageSectionFactories(cf, list);
 		else {
@@ -186,7 +186,7 @@
 		IConfigurationElement[] cf = registry.getConfigurationElementsFor(ServerUIPlugin.PLUGIN_ID, "editorActions");
 
 		int size = cf.length;
-		List list = new ArrayList(size);
+		List<ServerEditorActionFactory> list = new ArrayList<ServerEditorActionFactory>(size);
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new ServerEditorActionFactory(cf[i]));
@@ -220,7 +220,7 @@
 				IOrdered a = (IOrdered) list.get(i);
 				IOrdered b = (IOrdered) list.get(j);
 				if (a.getOrder() > b.getOrder()) {
-					Object temp = a;
+					IOrdered temp = a;
 					list.set(i, b);
 					list.set(j, temp);
 				}
@@ -228,4 +228,4 @@
 		}
 		return list;
 	}
-}
\ 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
index 208a291..b5cc2f4 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -67,11 +67,11 @@
 			return -1;
 		}
 	}
-	
+
 	/**
 	 * Returns the insertion id of this factory.
 	 *
-	 * @return java.lang.String
+	 * @return the insertion id
 	 */
 	public String getInsertionId() {
 		return element.getAttribute("insertionId");
@@ -81,11 +81,11 @@
 	 * Return the ids of the server resource factories (specified
 	 * using Java-import style) that this page may support.
 	 * 
-	 * @return java.lang.String[]
+	 * @return an array of type ids
 	 */
 	protected String[] getTypeIds() {
 		try {
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
@@ -202,4 +202,4 @@
 	public String toString() {
 		return "ServerEditorSection [" + getId() + ", " + getInsertionId() + ", " + getOrder() + "]";
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerEditorPartFactory.java
index 77c9117..680cc22 100644
--- 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
@@ -65,7 +65,7 @@
 	protected String[] getInsertionIds() {
 		try {
 			String insertionIds = element.getAttribute("insertionIds");
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			if (insertionIds != null && insertionIds.length() > 0) {
 				StringTokenizer st = new StringTokenizer(insertionIds, ",");
 				while (st.hasMoreTokens()) {
@@ -123,11 +123,11 @@
 	 * Return the ids of the server and server configuration type ids (specified
 	 * using Java-import style) that this page may support.
 	 * 
-	 * @return java.lang.String[]
+	 * @return an array of type ids
 	 */
 	protected String[] getTypeIds() {
 		try {
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			StringTokenizer st = new StringTokenizer(element.getAttribute("typeIds"), ",");
 			while (st.hasMoreTokens()) {
 				String str = st.nextToken();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java
index 10e7482..05ce0dd 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionSite.java
@@ -10,13 +10,18 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.extension;
 
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.update.core.ICategory;
 import org.eclipse.update.core.IFeature;
 import org.eclipse.update.core.ISite;
@@ -24,6 +29,7 @@
 import org.eclipse.wst.server.core.internal.IMemento;
 import org.eclipse.wst.server.core.internal.InstallableRuntime;
 import org.eclipse.wst.server.ui.internal.ProgressUtil;
+import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 /**
  * 
  */
@@ -39,7 +45,7 @@
 		return memento.getString("url");
 	}
 
-	private List featureList;
+	private List<IFeature> featureList;
 
 	protected static boolean hasCategory(ISiteFeatureReference ref, String category) {
 		ICategory[] cat = ref.getCategories();
@@ -71,20 +77,31 @@
 		return false;
 	}
 
-	public synchronized List getFeatures(String category, IProgressMonitor monitor) throws CoreException {
+	public synchronized List<IFeature> getFeatures(String category, IProgressMonitor monitor) throws CoreException {
 		if (featureList != null)
 			return featureList;
 		
 		String fromSite = getUrl();
 		
-		List list = new ArrayList();
+		List<IFeature> list = new ArrayList<IFeature>();
 		if (fromSite == null)
 			return list;
 		
-		monitor.beginTask("Searching " + fromSite, 100);
-		ISite site = InstallableRuntime.getSite(fromSite, ProgressUtil.getSubMonitorFor(monitor, 5));
-		if (site == null)
+		URL fromSiteURL = null;
+		try {
+			fromSiteURL = new URL(fromSite);
+		} catch (MalformedURLException e) {
 			return list;
+		}
+		
+		monitor.beginTask("Searching " + fromSite, 100);
+		ISite site = null;
+		try {
+			site = InstallableRuntime.getSite(fromSiteURL, ProgressUtil.getSubMonitorFor(monitor, 5));
+		} catch (IOException e) {
+			String host = fromSiteURL.getHost();
+			throw new CoreException(new Status(IStatus.ERROR, ServerUIPlugin.PLUGIN_ID, host, e));
+		}
 		// java.net.UnknownHostException
 		
 		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java
index 1e08df1..4a2fa05 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/extension/ExtensionUtility.java
@@ -28,7 +28,6 @@
 import org.eclipse.update.configuration.ILocalSite;
 import org.eclipse.update.core.IFeature;
 import org.eclipse.update.core.IFeatureReference;
-import org.eclipse.update.core.ISite;
 import org.eclipse.update.core.IURLEntry;
 import org.eclipse.update.core.IVerificationListener;
 import org.eclipse.update.core.IVerificationResult;
@@ -44,6 +43,7 @@
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.Trace;
 import org.eclipse.wst.server.ui.internal.wizard.ExtensionWizard;
+import org.osgi.framework.Version;
 
 public class ExtensionUtility {
 	public static boolean launchExtensionWizard(Shell shell, String title, String message) {
@@ -69,7 +69,7 @@
 			IMemento memento = XMLMemento.loadMemento(in);
 			IMemento children[] = memento.getChildren("site");
 			int size = children.length;
-			List list = new ArrayList(size);
+			List<ExtensionSite> list = new ArrayList<ExtensionSite>(size);
 			for (int i = 0; i < size; i++) {
 				ExtensionSite item = new ExtensionSite(children[i]);
 				list.add(item);
@@ -102,11 +102,52 @@
 		}
 	}
 
-	public static void addFeature(List list, List existing, IFeature newFeature, FeatureListener listener) {
+	/**
+	 * Return true if the new feature is already installed, or a newer one is.
+	 * 
+	 * @param existing
+	 * @param newFeature
+	 * @return true if the new feature is already installed, or a newer one is.
+	 */
+	protected static boolean alreadyExists(List existing, IFeature newFeature) {
 		if (existing.contains(newFeature))
+			return true;
+		
+		VersionedIdentifier newVi = newFeature.getVersionedIdentifier();
+		String ver = newVi.toString();
+		int ind = ver.indexOf("_");
+		if (ind >= 0)
+			ver = ver.substring(ind+1);
+		Version newV = new Version(ver);
+		
+		Iterator iterator = existing.iterator();
+		while (iterator.hasNext()) {
+			IFeature feature = (IFeature) iterator.next();
+			VersionedIdentifier vi = feature.getVersionedIdentifier(); 
+			if (vi.getIdentifier().equals(newVi.getIdentifier())) {
+				ver = vi.toString();
+				ind = ver.indexOf("_");
+				if (ind >= 0)
+					ver = ver.substring(ind+1);
+				Version nextCand = new Version(ver);
+				if (nextCand.compareTo(newV) >= 0)
+					return true;
+			}
+		}
+		
+		return false;
+	}
+
+	public static void addFeature(List<IFeature> list, List<IFeature> existing, IFeature newFeature, FeatureListener listener) {
+		if (alreadyExists(existing, newFeature))
 			return;
 		
 		VersionedIdentifier newVi = newFeature.getVersionedIdentifier();
+		String ver = newVi.toString();
+		int ind = ver.indexOf("_");
+		if (ind >= 0)
+			ver = ver.substring(ind+1);
+		Version newV = new Version(ver);
 		IFeature remove = null;
 		
 		Iterator iterator = list.iterator();
@@ -114,8 +155,12 @@
 			IFeature feature = (IFeature) iterator.next();
 			VersionedIdentifier vi = feature.getVersionedIdentifier(); 
 			if (vi.getIdentifier().equals(newVi.getIdentifier())) {
-				//Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
-				if (newVi.getVersion().isGreaterOrEqualTo(vi.getVersion())) {
+				ver = vi.toString();
+				ind = ver.indexOf("_");
+				if (ind >= 0)
+					ver = ver.substring(ind+1);
+				Version nextCand = new Version(ver);
+				if (nextCand.compareTo(newV) < 0) {
 					remove = feature;
 				} else // new feature is older
 					return;
@@ -128,15 +173,9 @@
 		
 		list.add(newFeature);
 		listener.featureFound(newFeature);
-		
-		try {
-			Thread.sleep(800);
-		} catch (Exception s) {
-			//
-		}
 	}
 
-	public static void addFeatures(List list, List existing, List newFeatures, FeatureListener listener) {
+	public static void addFeatures(List<IFeature> list, List<IFeature> existing, List newFeatures, FeatureListener listener) {
 		Iterator iterator = newFeatures.iterator();
 		while (iterator.hasNext()) {
 			addFeature(list, existing, (IFeature) iterator.next(), listener);
@@ -146,15 +185,15 @@
 	public interface FeatureListener {
 		public void featureFound(IFeature feature);
 		public void featureRemoved(IFeature feature);
-		public void siteFailure(ISite site, CoreException ce);
+		public void siteFailure(String host);
 	}
 
-	protected static List getExistingFeatures(IProgressMonitor monitor) throws CoreException {
+	protected static List<IFeature> getExistingFeatures(IProgressMonitor monitor) throws CoreException {
 		monitor.beginTask(Messages.installableServerLocal, 100);
 		ILocalSite site = SiteManager.getLocalSite();
 		IConfiguredSite[] sites = site.getCurrentConfiguration().getConfiguredSites();
 		int size = sites.length;
-		List list = new ArrayList(200);
+		List<IFeature> list = new ArrayList<IFeature>(200);
 		for (int i = 0; i < size; i++) {
 			IFeatureReference[] refs = sites[i].getFeatureReferences();
 			int size2 = refs.length;
@@ -169,31 +208,57 @@
 		return list;
 	}
 
-	public static IFeature[] getAllFeatures(String id, FeatureListener listener, IProgressMonitor monitor) throws CoreException {
+	public static IFeature[] getAllFeatures(final String id, final FeatureListener listener, IProgressMonitor monitor) throws CoreException {
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		monitor.beginTask("", 1100);
 		
 		monitor.subTask(Messages.installableServerLocal);
-		List existing = getExistingFeatures(ProgressUtil.getSubMonitorFor(monitor, 100));
+		final List<IFeature> existing = getExistingFeatures(ProgressUtil.getSubMonitorFor(monitor, 100));
 		
-		ExtensionSite[] items = ExtensionUtility.getExtensionItems();
+		final ExtensionSite[] items = ExtensionUtility.getExtensionItems();
 		IInstallableServer[] servers = ServerPlugin.getInstallableServers();
-		int x = 1000 / (items.length + servers.length);
+		final int x = 1000 / (items.length + servers.length);
 		
 		monitor.worked(50);
-		List list = new ArrayList();
+		final List<IFeature> list = new ArrayList<IFeature>();
 		int size = items.length;
 		
+		Thread[] threads = new Thread[size];
 		for (int i = 0; i < size; i++) {
 			try {
 				if (monitor.isCanceled())
 					return null;
 				
 				monitor.subTask(NLS.bind(Messages.installableServerSearching, items[i].getUrl()));
-				List list2 = items[i].getFeatures(id, ProgressUtil.getSubMonitorFor(monitor, x));
-				addFeatures(list, existing, list2, listener);
-			} catch (CoreException ce) {
-				ce.printStackTrace();
+				final int ii = i;
+				final IProgressMonitor monitor2 = monitor;
+				threads[i] = new Thread("Extension Checker") {
+					public void run() {
+						try {
+							List<IFeature> list2 = items[ii].getFeatures(id, ProgressUtil.getSubMonitorFor(monitor2, x));
+							addFeatures(list, existing, list2, listener);
+						} catch (CoreException ce) {
+							listener.siteFailure(ce.getLocalizedMessage());
+							Trace.trace(Trace.WARNING, "Error downloading server adapter info", ce);
+						}
+					}
+				};
+				threads[i].setDaemon(true);
+				threads[i].start();
+			} catch (Exception e) {
+				Trace.trace(Trace.WARNING, "Error downloading server adapter info 2", e);
+			}
+		}
+		
+		for (int i = 0; i < size; i++) {
+			try {
+				if (monitor.isCanceled())
+					return null;
+				
+				if (threads[i].isAlive())
+					threads[i].join();
+			} catch (Exception e) {
+				Trace.trace(Trace.WARNING, "Error downloading server adapter info 3", e);
 			}
 		}
 		
@@ -244,7 +309,8 @@
 			};
 			SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0].install(feature, verificationListener, monitor);
 		} catch (CoreException ce) {
-			ce.printStackTrace();
+			Trace.trace(Trace.WARNING, "Error installing server adapter", ce);
+			throw ce;
 		}
 		
 		try {
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
index 5d2a43f..1899f54 100644
--- 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
@@ -22,7 +22,11 @@
  * An abstract class for an action on a server.
  */
 public abstract class AbstractServerAction extends SelectionProviderAction {
-	public Shell shell;
+	protected Shell shell;
+
+	public AbstractServerAction(ISelectionProvider selectionProvider, String text) {
+		this(null, selectionProvider, text);
+	}
 
 	public AbstractServerAction(Shell shell, ISelectionProvider selectionProvider, String text) {
 		super(selectionProvider, text);
@@ -34,7 +38,7 @@
 	 * Return true if this server can currently be acted on.
 	 *
 	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.IServer
+	 * @param server a server
 	 */
 	public boolean accept(IServer server) {
 		return true;
@@ -42,7 +46,8 @@
 
 	/**
 	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.IServer
+	 * 
+	 * @param server a server
 	 */
 	public abstract void perform(IServer server);
 
@@ -58,7 +63,7 @@
 	}
 
 	/**
-	 * Update the enable state.
+	 * Update the enabled state.
 	 * 
 	 * @param sel a selection
 	 */
@@ -80,6 +85,6 @@
 				return;
 			}
 		}
-		setEnabled(enabled);	
+		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
new file mode 100644
index 0000000..79cff12
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/CopyAction.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * 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
index e497d37..6c866f1 100644
--- 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
@@ -14,9 +14,10 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IFolder;
-import org.eclipse.jface.action.Action;
+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;
@@ -25,37 +26,27 @@
 /**
  * Action for deleting server resources.
  */
-public class DeleteAction extends Action {
+public class DeleteAction extends AbstractServerAction {
 	protected IServer[] servers;
 	protected IFolder[] configs;
-	protected Shell shell;
 
 	/**
 	 * DeleteAction constructor.
 	 * 
 	 * @param shell a shell
-	 * @param server a server
+	 * @param sp a selection provider
 	 */
-	public DeleteAction(Shell shell, IServer server) {
-		this(shell, new IServer[] { server });
-	}
-
-	/**
-	 * DeleteAction constructor.
-	 * 
-	 * @param shell a shell
-	 * @param servers an array of servers
-	 */
-	public DeleteAction(Shell shell, IServer[] servers) {
-		super(Messages.actionDelete);
+	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));
-		this.shell = shell;
-		
-		this.servers = servers;
-		
-		List list = new ArrayList();
+		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++) {
@@ -83,12 +74,10 @@
 		
 		configs = new IFolder[list.size()];
 		list.toArray(configs);
+		return true;
 	}
 
-	/**
-	 * Invoked when an action occurs. 
-	 */
-	public void run() {
+	public void perform(IServer server) {
 		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/ModuleSloshAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleSloshAction.java
index 3bea1e8..cc99230 100644
--- 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
@@ -56,8 +56,8 @@
 		
 		// check if there are any modules first
 		// get currently deployed modules
-		List deployed = new ArrayList();
-		List modules = new ArrayList();
+		List<IModule> deployed = new ArrayList<IModule>();
+		List<IModule> modules = new ArrayList<IModule>();
 		IModule[] currentModules = server.getModules();
 		if (currentModules != null) {
 			int size = currentModules.length;
@@ -68,7 +68,7 @@
 		
 		// get remaining modules
 		IModule[] modules2 = ServerUtil.getModules(server.getServerType().getRuntimeType().getModuleTypes());
-		if (modules != null) {
+		if (modules2 != null) {
 			int size = modules2.length;
 			for (int i = 0; i < size; i++) {
 				IModule module = modules2[i];
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
index c64e461..c51f52b 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.view.servers;
 
-import org.eclipse.jface.action.Action;
+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;
@@ -18,25 +18,20 @@
 /**
  * "Open" menu action.
  */
-public class OpenAction extends Action {
-	protected IServer server;
-
+public class OpenAction extends AbstractServerAction {
 	/**
 	 * OpenAction constructor.
 	 * 
-	 * @param server a server
+	 * @param sp a selection provider
 	 */
-	public OpenAction(IServer server) {
-		super(Messages.actionOpen);
-	
-		this.server = server;
-		setEnabled(server.getServerType() != null);
+	public OpenAction(ISelectionProvider sp) {
+		super(sp, Messages.actionOpen);
+		
+		setActionDefinitionId("org.eclipse.ui.navigator.Open");
+		//setActionDefinitionId("org.eclipse.jdt.ui.edit.text.java.open.editor");
 	}
 
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
+	public void perform(IServer server) {
 		try {
 			ServerUIPlugin.editServer(server);
 		} catch (Exception e) {
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
new file mode 100644
index 0000000..c890066
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PasteAction.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * 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.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;
+		//setEnabled(false);
+	}
+
+	/**
+	 * 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) {
+				Trace.trace(Trace.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
index 0684f96..7158b74 100644
--- 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
@@ -15,6 +15,7 @@
 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;
@@ -24,6 +25,7 @@
 public class PropertiesAction extends AbstractServerAction {
 	public PropertiesAction(Shell shell, ISelectionProvider selectionProvider) {
 		super(shell, selectionProvider, Messages.actionProperties);
+		setActionDefinitionId(IWorkbenchActionDefinitionIds.PROPERTIES);
 		try {
 			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/PublishAction.java
index 1a9acf8..d6698e0 100644
--- 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
@@ -28,6 +28,7 @@
 		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) {
@@ -35,21 +36,16 @@
 		}
 	}
 
-	/**
-	 * Return true if this server can currently be acted on.
-	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
 	public boolean accept(IServer server) {
 		return server.canPublish().isOK();
 	}
 
-	/**
-	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.IServer
-	 */
 	public void perform(IServer server) {
-		if (!ServerUIPlugin.promptIfDirty(shell, server))
+		publish(server, shell);
+	}
+
+	public static void publish(IServer server, Shell shell) {
+		if (shell != null && !ServerUIPlugin.promptIfDirty(shell, server))
 			return;
 		
 		if (!ServerUIPlugin.saveEditors())
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
index b6dc612..1fd8de5 100644
--- 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
@@ -11,6 +11,7 @@
 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;
@@ -28,9 +29,11 @@
 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.
@@ -58,6 +61,7 @@
 
 	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 {
@@ -255,20 +259,17 @@
 			public void run() {
 				try {
 					if (!newName.equals(editedServer.getName())) {
-						try {
-							IServerWorkingCopy wc = editedServer.createWorkingCopy();
-							wc.setName(newName);
-							wc.save(false, null);
-						} catch (CoreException ce) {
-							// ignore for now
-						}
-						/*IStatus status = server.workspace.validateName(newName,
-								inlinedResource.getType());
-						if (!status.isOK()) {
-							MessageDialog.openError(shell, Messages.defaultDialogTitle, message);
+						if (ServerPlugin.isNameInUse(editedServer, newName)) {
+							MessageDialog.openError(shell, Messages.defaultDialogTitle, Messages.errorDuplicateName);
 						} else {
-							// set name
-						}*/
+							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
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerAction.java
deleted file mode 100644
index 4500312..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerAction.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.view.servers;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionProviderAction;
-/**
- * 
- */
-public class ServerAction extends SelectionProviderAction {
-	protected Shell shell;
-	protected byte action;
-
-	public ServerAction(Shell shell, ISelectionProvider provider, String label, byte action) {
-		super(provider, label);
-		this.shell = shell;
-		this.action = action;
-		setEnabled(ServerActionHelper.isActionEnabled(getSelection(), action));
-	}
-	
-	/**
-	 * Notifies this action that the given (non-structured) selection has changed
-	 * in the selection provider.
-	 * <p>
-	 * The <code>SelectionProviderAction</code> implementation of this method
-	 * does nothing. Subclasses may reimplement to react to this selection change.
-	 * </p>
-	 *
-	 * @param selection the new selection
-	 */
-	public void selectionChanged(ISelection selection) {
-		setEnabled(ServerActionHelper.isActionEnabled(selection, action));
-	}
-	
-	public void selectionChanged(IStructuredSelection selection) {
-		setEnabled(ServerActionHelper.isActionEnabled(selection, action));
-	}
-	
-	/**
-	 * The default implementation of this <code>IAction</code> method
-	 * does nothing.  Subclasses should override this method
-	 * if they do not need information from the triggering event,
-	 * or override <code>run(Event)</code> if they do.
-	 */
-	public void run() {
-		ServerActionHelper.performAction(shell, getSelection(), action);
-	}
-}
\ 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
new file mode 100644
index 0000000..a373a20
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHandler.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * 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;
+		
+		if (obj instanceof IServer) {
+			IServer server = (IServer) obj;
+			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/ServerActionHelper.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHelper.java
deleted file mode 100644
index 15ab912..0000000
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerActionHelper.java
+++ /dev/null
@@ -1,188 +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.view.servers;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.*;
-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.actions.NewServerWizardAction;
-import org.eclipse.swt.widgets.Shell;
-/**
- * 
- */
-public class ServerActionHelper {
-	/**
-	 * Constants for actions
-	 */
-	public static final byte ACTION_OPEN = 0;
-	public static final byte ACTION_DELETE = 1;
-	public static final byte ACTION_BOOKMARK = 2;
-
-	private ServerActionHelper() {
-		// do nothing
-	}
-	
-	public static void fillContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		MenuManager newMenu = new MenuManager(Messages.actionNew);
-		fillNewContextMenu(shell, selection, newMenu);
-		menu.add(newMenu);
-		fillOtherContextMenu(shell, selection, menu);
-	}
-	
-	public static void fillNewContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		IAction newServerAction = new NewServerWizardAction();
-		newServerAction.setText(Messages.actionNewServer);
-		menu.add(newServerAction);
-	}
-
-	public static void fillOtherContextMenu(Shell shell, ISelection selection, IMenuManager menu) {
-		if (selection == null)
-			return;
-
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
-			return;
-	}
-
-	protected static void addServerActions(Shell shell, IMenuManager menu, IServer server) {
-		final ISelection selection = new StructuredSelection(server);
-		ISelectionProvider provider = new ISelectionProvider() {
-			public void addSelectionChangedListener(ISelectionChangedListener listener) {
-				// do nothing
-			}
-			public ISelection getSelection() {
-				return selection;
-			}
-			public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-				// do nothing
-			}
-			public void setSelection(ISelection sel) {
-				// do nothing
-			}
-		};
-	
-		// create the start actions
-		menu.add(new StartAction(shell, provider, ILaunchManager.DEBUG_MODE));
-		menu.add(new StartAction(shell, provider, ILaunchManager.RUN_MODE));
-		menu.add(new StartAction(shell, provider, ILaunchManager.PROFILE_MODE));
-				
-		// create the publish actions
-		menu.add(new PublishAction(shell, provider));
-		menu.add(new PublishCleanAction(shell, provider));
-	}
-
-	public static boolean isActionEnabled(ISelection selection, byte action) {
-		if (selection == null || action < 0)
-			return false;
-
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
-			return false;
-
-		IStructuredSelection sel = (IStructuredSelection) selection;
-		
-		if (action == ACTION_OPEN) {
-			return false;
-		} else if (action == ACTION_DELETE) {
-			// get selection but avoid no selection or multiple selection
-			IModule[] module = null;
-			if (!sel.isEmpty()) {
-				Iterator iterator = sel.iterator();
-				Object obj = iterator.next();
-				if (obj instanceof ModuleServer) {
-					ModuleServer ms = (ModuleServer) obj;
-					module = ms.module;
-				}
-				if (iterator.hasNext())
-					module = null;
-			}
-			
-			return (module == null || module.length == 1);
-		}
-
-		return false;
-	}
-
-	public static boolean performAction(Shell shell, ISelection selection, byte action) {
-		//if (!isActionEnabled(selection, action))
-		//	return false;
-
-		if (selection == null || action < 0)
-			return false;
-
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
-			return false;
-
-		IStructuredSelection sel = (IStructuredSelection) selection;
-
-		if (action == ACTION_OPEN) {
-			if (sel.size() != 1)
-				return false;
-
-			Object obj = sel.getFirstElement();
-			if (obj instanceof IServer) {
-				Action open = new OpenAction((IServer) obj);
-				open.run();
-				return true;
-			}
-			return false;
-		} else if (action == ACTION_DELETE) {
-			// get selection but avoid no selection or multiple selection
-			IServer server = null;
-			IModule[] module = null;
-			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;
-					module = ms.module;
-				}
-				if (iterator.hasNext()) {
-					server = null;
-					module = null;
-				}
-			}
-			
-			if (module == null)
-				new DeleteAction(shell, server).run();
-			else if (module.length == 1)
-				new RemoveModuleAction(shell, server, module[0]).run();
-			
-			return true;
-		}
-
-		return false;
-	}
-	
-	/**
-	 * Returns an action of the specified type, which can be used for global.
-	 * 
-	 * @param shell a shell
-	 * @param provider a selection provider
-	 * @param action an action
-	 * @return an action
-	 */
-	public static IAction getAction(Shell shell, ISelectionProvider provider, byte action) {
-		if (action == ACTION_DELETE) {
-			return new ServerAction(shell, provider, Messages.actionDelete, ServerActionHelper.ACTION_DELETE);
-		}
-		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
index cc1a3c3..ea6c569 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java
@@ -12,8 +12,6 @@
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-
 import org.eclipse.ui.ISharedImages;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerType;
@@ -23,12 +21,12 @@
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager;
-import org.eclipse.wst.server.ui.internal.viewers.BaseLabelProvider;
+import org.eclipse.wst.server.ui.internal.viewers.BaseCellLabelProvider;
 import org.eclipse.swt.graphics.Image;
 /**
  * Server table label provider.
  */
-public class ServerTableLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
+public class ServerTableLabelProvider extends BaseCellLabelProvider{
 	public static final String[] syncState = new String[] {
 		Messages.viewSyncOkay,
 		Messages.viewSyncRestart,
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
index 8a7ed26..377bdb8 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableViewer.java
@@ -11,8 +11,10 @@
 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;
@@ -23,6 +25,7 @@
 import org.eclipse.wst.server.core.util.PublishAdapter;
 import org.eclipse.wst.server.ui.internal.Trace;
 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;
@@ -33,9 +36,7 @@
 import org.eclipse.swt.widgets.TreeColumn;
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
 /**
  * Tree view showing servers and their associations.
  */
@@ -43,6 +44,7 @@
 	protected static final String ROOT = "root";
 	protected static Color color;
 	protected static Font font;
+	protected Clipboard clipboard;
 
 	protected IServerLifecycleListener serverResourceListener;
 	protected IPublishListener publishListener;
@@ -51,8 +53,8 @@
 	protected static Object deletedElement = null;
 
 	// servers that are currently publishing and starting
-	protected static List publishing = new ArrayList();
-	protected static List starting = new ArrayList();
+	protected static Set<String> publishing = new HashSet<String>(4);
+	protected static Set<String> starting = new HashSet<String>(4);
 
 	protected ServerTableLabelProvider labelProvider;
 	//protected ISelectionListener dsListener;
@@ -64,7 +66,7 @@
 
 	public class ServerContentProvider implements IStructuredContentProvider, ITreeContentProvider {
 		public Object[] getElements(Object element) {
-			List list = new ArrayList();
+			List<IServer> list = new ArrayList<IServer>();
 			IServer[] servers = ServerCore.getServers();
 			if (servers != null) {
 				int size = servers.length;
@@ -144,29 +146,6 @@
 		}
 	}
 
-	/*protected void createHoverHelp(Shell parent, Point p) {
-		if (fShell != null) {
-			fShell.dispose();
-			fShell = null;
-		}
-		fShell = new Shell(parent, SWT.NO_FOCUS | SWT.ON_TOP | SWT.RESIZE | SWT.NO_TRIM);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 3;
-		layout.marginWidth = 3;
-		fShell.setLayout(layout);
-		
-		Display display = parent.getDisplay();
-		StyledText text = new StyledText(fShell, SWT.NONE);
-		text.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-		text.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		text.append("Testing\nThis is multi-line");
-		
-		fShell.setLocation(p.x, p.y);
-		fShell.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-		fShell.pack();
-		fShell.setVisible(true);
-	}*/
-
 	protected void startThread() {
 		if (animationActive)
 			return;
@@ -222,40 +201,19 @@
 	public ServerTableViewer(final ServersView view, final Tree tree) {
 		super(tree);
 		this.view = view;
+		clipboard = new Clipboard(tree.getDisplay());
 	}
 	
 	protected void initialize() {
-		/*tree.addMouseMoveListener(new MouseMoveListener() {
-			public void mouseMove(MouseEvent e) {
-				if (fShell != null) {
-					fShell.dispose();
-					fShell = null;
-				}
-			}
-		});
-		tree.addMouseTrackListener(new MouseTrackListener() {
-			public void mouseEnter(MouseEvent event) {
-				// ignore
-			}
-
-			public void mouseExit(MouseEvent event) {
-				// ignore
-			}
-
-			public void mouseHover(MouseEvent event) {
-				createHoverHelp(tree.getShell(), tree.toDisplay(event.x, event.y));
-			}
-		});*/
-		
+		ColumnViewerToolTipSupport.enableFor(this);
 		setContentProvider(new ServerContentProvider());
-		labelProvider = new ServerTableLabelProvider();
-		setLabelProvider(labelProvider);
+		labelProvider = new ServerTableLabelProvider();		
+		setLabelProvider(labelProvider);		
+		
 		setComparator(new ServerViewerComparator(labelProvider));
 		
 		setInput(ROOT);
 		addListeners();
-		IActionBars actionBars = view.getViewSite().getActionBars();
-		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), new ServerAction(getControl().getShell(), this, "Delete it!", ServerActionHelper.ACTION_DELETE));
 		
 		/*dsListener = new ISelectionListener() {
 			public void selectionChanged(IWorkbenchPart part, ISelection selection) {
@@ -375,7 +333,7 @@
 		if (obj == null)
 			return obj;
 		
-		List list = new ArrayList();
+		List<Object> list = new ArrayList<Object>();
 		int size = obj.length;
 		for (int i = 0; i < size; i++) {
 			if (obj[i] instanceof IModule) {
@@ -387,7 +345,7 @@
 			} else if (obj[i] instanceof IProject) {
 				IProject proj = (IProject) obj[i];
 
-				List list2 = new ArrayList();
+				List<Object> list2 = new ArrayList<Object>();
 				getTreeChildren(list2, view.treeTable);
 				
 				Iterator iterator = list2.iterator();
@@ -407,7 +365,7 @@
 		return o;
 	}
 
-	private void getTreeChildren(List list, Widget widget) {
+	private void getTreeChildren(List<Object> list, Widget widget) {
 		Item[] items = getChildren(widget);
 		for (int i = 0; i < items.length; i++) {
 			Item item = items[i];
@@ -453,9 +411,9 @@
 		
 		serverListener = new IServerListener() {
 			public void serverChanged(ServerEvent event) {
-				if (event == null) {
+				if (event == null)
 					return;
-				}
+				
 				int eventKind = event.getKind();
 				IServer server = event.getServer();
 				if ((eventKind & ServerEvent.SERVER_CHANGE) != 0) {
@@ -465,21 +423,27 @@
 						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();
+										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();
+										stopThread = true;
 								}
 							}
+							if (stopThread)
+								stopThread();
 						}
 					} else
 						refreshServer(server);
@@ -502,7 +466,7 @@
 			}
 		}
 	}
-	
+
 	protected void refreshServer(final IServer server) {
 		Display.getDefault().asyncExec(new Runnable() {
 			public void run() {
@@ -536,6 +500,8 @@
 			}
 		}
 		
+		clipboard.dispose();
+		
 		super.handleDispose(event);
 	}
 
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
new file mode 100644
index 0000000..77dd773
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTransfer.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * 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 java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.eclipse.swt.dnd.ByteArrayTransfer;
+import org.eclipse.swt.dnd.TransferData;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerCore;
+/*
+ * 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();
+			DataOutputStream dataOut = new DataOutputStream(out);
+
+			// write the number of elements
+			dataOut.writeInt(servers.length);
+
+			// write each element
+			for (int i= 0; i < servers.length; i++)
+				dataOut.writeUTF(servers[i].getId());
+
+			// cleanup
+			dataOut.close();
+			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;
+		DataInputStream in = new DataInputStream(new ByteArrayInputStream(bytes));
+		try {
+			int count = in.readInt();
+			IServer[] results = new IServer[count];
+			for (int i = 0; i < count; i++) {
+				String id = in.readUTF();
+				results[i] = ServerCore.findServer(id);
+			}
+			return results;
+		} catch (IOException 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/view/servers/ServerViewerComparator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerViewerComparator.java
index 34091de..40db302 100644
--- 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
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.view.servers;
 
-import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerComparator;
 
@@ -19,13 +18,13 @@
 	public static final int ASCENDING = 1;
 	public static final int DESCENDING = -1;
 
-	protected ITableLabelProvider labelProvider;
+	protected ServerTableLabelProvider labelProvider;
 
 	protected int[] priorities = new int[] { 0 };
 
 	protected int[] directions = new int[] { ASCENDING };
 
-	public ServerViewerComparator(ITableLabelProvider labelProvider) {
+	public ServerViewerComparator(ServerTableLabelProvider labelProvider) {
 		this.labelProvider = labelProvider;
 	}
 
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
index 3cf96e7..be5024f 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersView.java
@@ -17,14 +17,14 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
 import org.eclipse.jface.action.*;
+import org.eclipse.jface.bindings.TriggerSequence;
 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.model.ServerDelegate;
 import org.eclipse.wst.server.ui.internal.*;
+import org.eclipse.wst.server.ui.internal.actions.NewServerWizardAction;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.dnd.DND;
 import org.eclipse.swt.dnd.FileTransfer;
@@ -32,6 +32,7 @@
 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.Composite;
 import org.eclipse.swt.widgets.Display;
@@ -41,11 +42,13 @@
 import org.eclipse.swt.widgets.TreeColumn;
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.ui.*;
+import org.eclipse.ui.actions.ActionFactory;
+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;
 /**
- * View of server, their configurations and status.
+ * A view of servers, their modules, and status.
  */
 public class ServersView extends ViewPart {
 	private static final String TAG_COLUMN_WIDTH = "columnWidth";
@@ -62,7 +65,8 @@
 	// actions on a server
 	protected Action[] actions;
 	protected Action actionModifyModules;
-	protected Action actionProperties;
+	protected Action openAction, showInConsoleAction, showInDebugAction, propertiesAction;
+	protected Action copyAction, pasteAction, deleteAction, renameAction;
 
 	/**
 	 * ServersView constructor comment.
@@ -169,22 +173,7 @@
 					label += " (";
 					label += ServerCore.getResourceManager().getServerResourceLocation(resource).getFullPath().toString().substring(1);
 					label += ")";
-					getViewSite().getActionBars().getStatusLineManager().setMessage(ServerLabelProvider.getInstance().getImage(factory), label);
-					
-					if (resource instanceof IServer) {
-						IServer server = (IServer) resource;
-						ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-						ILaunch[] launches = launchManager.getLaunches();
-						int size = launches.length;
-						for (int i = size-1; i >= 0; i--) {
-							ILaunchConfiguration config = launches[i].getLaunchConfiguration();
-							if (LAUNCH_CONFIGURATION_TYPE_ID.equals(config.getType().getIdentifier()) &&
-									ServerCore.getServerRef(server).equals(config.getAttribute(SERVER_REF, (String)null))) {
-								selectServerProcess(launches[i]);
-								return;
-							}
-						}
-					}*/
+					getViewSite().getActionBars().getStatusLineManager().setMessage(ServerLabelProvider.getInstance().getImage(factory), label);*/
 				} catch (Exception e) {
 					getViewSite().getActionBars().getStatusLineManager().setMessage(null, "");
 				}
@@ -217,6 +206,15 @@
 		getSite().setSelectionProvider(tableViewer);
 		
 		initDragAndDrop();
+		
+		// Init the tooltip
+		ServerToolTip toolTip;
+		toolTip = new ServerToolTip(treeTable);
+		toolTip.setShift(new Point(-5, -5));
+		// time is in miliseconds
+		toolTip.setPopupDelay(200);
+		toolTip.setHideOnMouseDown(true);
+		toolTip.activate();
 	}
 
 	public void init(IViewSite site, IMemento memento) throws PartInitException {
@@ -241,25 +239,6 @@
 		}
 	}
 
-	protected void selectServerProcess(Object process) {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow() ;
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IWorkbenchPart part = page.findView(IDebugUIConstants.ID_DEBUG_VIEW);
-				if (part != null) {
-					IDebugView view = (IDebugView)part.getAdapter(IDebugView.class);
-					if (view != null) {
-						Viewer viewer = view.getViewer();
-						if (viewer != null) {
-							viewer.setSelection(new StructuredSelection(process));
-						}
-					}
-				}
-			}
-		}
-	}
-
 	/**
 	 * Initialize actions
 	 * 
@@ -267,25 +246,47 @@
 	 */
 	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);
+		actionBars.setGlobalActionHandler("org.eclipse.wst.server.profile", actions[2]);
 		
 		// create the stop action
 		actions[3] = new StopAction(shell, provider);
 		
 		// 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 module slosh dialog action
+		// 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);
+		renameAction = new RenameAction(shell, tableViewer, provider);
+		actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
+		actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), pasteAction);
+		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), deleteAction);
+		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
-		actionProperties = new PropertiesAction(shell, provider);
+		propertiesAction = new PropertiesAction(shell, provider);
+		actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), propertiesAction);
 		
 		// add toolbar buttons
 		IContributionManager cm = getViewSite().getActionBars().getToolBarManager();
@@ -293,6 +294,12 @@
 			cm.add(actions[i]);
 	}
 
+	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;
@@ -316,21 +323,40 @@
 		
 		// new action
 		MenuManager newMenu = new MenuManager(Messages.actionNew);
-		ServerActionHelper.fillNewContextMenu(null, selection, newMenu);
+		fillNewContextMenu(null, selection, newMenu);
 		menu.add(newMenu);
 		
 		// open action
 		if (server != null && module == null) {
-			menu.add(new OpenAction(server));
+			menu.add(openAction);
 			menu.add(new UpdateStatusAction(server));
+			
+			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(new DeleteAction(shell, server));
-				menu.add(new RenameAction(shell, tableViewer, tableViewer));
+				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());
@@ -388,7 +414,7 @@
 		
 		if (server != null) {
 			menu.add(new Separator());
-			menu.add(actionProperties);
+			menu.add(propertiesAction);
 		}
 	}
 
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
new file mode 100644
index 0000000..7e37e90
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInConsoleAction.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * 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.debug.core.ILaunch;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleConstants;
+import org.eclipse.ui.console.IConsoleManager;
+import org.eclipse.ui.console.IConsoleView;
+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);
+	}
+
+	public void perform(IServer server) {
+		try {
+			ILaunch launch = server.getLaunch();
+			selectProcess(launch.getProcesses()[0]);
+		} catch (Exception e) {
+			Trace.trace(Trace.SEVERE, "Error opening console", e);
+		}
+	}
+
+	protected void selectProcess(IProcess process) {
+		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) {
+					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
new file mode 100644
index 0000000..4a87044
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInDebugAction.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ * 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.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.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) {
+			Trace.trace(Trace.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) {
+					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
new file mode 100644
index 0000000..8a6667c
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ShowInMenuAction.java
@@ -0,0 +1,63 @@
+/*******************************************************************************
+ * 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.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) {
+				System.out.println("creating menu1");
+				return getMenuManager().createContextMenu(parent);
+			}
+
+			public Menu getMenu(Menu parent) {
+				System.out.println("creating menu2");
+				//return getMenuManager().createContextMenu(parent.getShell());
+				return null;
+			}
+			
+			private MenuManager getMenuManager() {
+				System.out.println("creating menu");
+				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
index 2358387..be7ceeb 100644
--- 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
@@ -42,18 +42,21 @@
 			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));
+			setActionDefinitionId("org.eclipse.wst.server.profile");
 		}
 		try {
 			selectionChanged((IStructuredSelection) selectionProvider.getSelection());
@@ -67,23 +70,58 @@
 	 * @param sel the IStructuredSelection from the view
 	 */
 	private void updateText(IStructuredSelection sel){
-		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);		
-				}
-				else
-					setText(Messages.actionStart);
+		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);		
+					} else
+						setText(Messages.actionStart);
+				}
+			}	
+		} 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);		
+					} else
+						setText(Messages.actionDebug);
+				}
+			}
+		} 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);		
+					} else
+						setText(Messages.actionProfile);
+				}
+			}
+		}		
 	}
 	
 	/**
@@ -107,6 +145,10 @@
 	 * @param server a server
 	 */
 	public void perform(IServer server) {
+		start(server, launchMode, shell);
+	}
+
+	public static void start(IServer server, String launchMode, Shell shell) {
 		if (server.getServerState() != IServer.STATE_STARTED) {
 			if (!ServerUIPlugin.saveEditors())
 				return;
@@ -132,7 +174,7 @@
 				Trace.trace(Trace.SEVERE, "Error starting server", e);
 			}
 		} else {
-			if (!ServerUIPlugin.promptIfDirty(shell, server))
+			if (shell != null && !ServerUIPlugin.promptIfDirty(shell, server))
 				return;
 			
 			try {
@@ -149,9 +191,6 @@
 
 	public void selectionChanged(IStructuredSelection sel) {
 		super.selectionChanged(sel);
-		if (this.launchMode == ILaunchManager.RUN_MODE) {
-			updateText(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/StopAction.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
index 9174b90..0fbf4ec 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/StopAction.java
@@ -17,7 +17,6 @@
 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.osgi.util.NLS;
 import org.eclipse.swt.widgets.Shell;
 /**
  * Stop (terminate) a server.
@@ -39,7 +38,7 @@
 	/**
 	 * Return true if this server can currently be acted on.
 	 * @return boolean
-	 * @param server org.eclipse.wst.server.core.IServer
+	 * @param server a server
 	 */
 	public boolean accept(IServer server) {
 		if (server.getServerType() == null)
@@ -49,13 +48,12 @@
 
 	/**
 	 * Perform action on this server.
-	 * @param server org.eclipse.wst.server.core.IServer
+	 * @param server a server
 	 */
 	public void perform(final IServer server) {
 		ServerUIPlugin.addTerminationWatch(shell, server, ServerUIPlugin.STOP);
 		
-		String name = NLS.bind(Messages.dialogStoppingServer, server.getName());
-		StopServerJob stopJob = new StopServerJob(server, name);
+		StopServerJob stopJob = new StopServerJob(server);
 		stopJob.schedule();
 	}
 }
\ 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
index 8c2d759..6a54bdd 100644
--- 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
@@ -28,12 +28,12 @@
 
 	public class TreeElement {
 		String text;
-		List contents;
+		List<Object> contents;
 	}
 
 	protected Object[] elements;
-	protected Map elementToParentMap = new HashMap(2);
-	protected Map textMap = new HashMap(2);
+	protected Map<Object, TreeElement> elementToParentMap = new HashMap<Object, TreeElement>(2);
+	protected Map<String, TreeElement> textMap = new HashMap<String, TreeElement>(2);
 
 	/**
 	 * AbstractTreeContentProvider constructor comment.
@@ -52,13 +52,13 @@
 
 	protected void clean() {
 		elements = null;
-		elementToParentMap = new HashMap(2);
-		textMap = new HashMap(2);
+		elementToParentMap = new HashMap<Object, TreeElement>(2);
+		textMap = new HashMap<String, TreeElement>(2);
 		
 		initialSelection = null;
 	}
 
-	protected TreeElement getOrCreate(List list, String text) {
+	protected TreeElement getOrCreate(List<TreeElement> list, String text) {
 		try {
 			Object obj = textMap.get(text);
 			if (obj != null)
@@ -69,13 +69,13 @@
 		
 		TreeElement element = new TreeElement();
 		element.text = text;
-		element.contents = new ArrayList();
+		element.contents = new ArrayList<Object>();
 		textMap.put(text, element);
 		list.add(element);
 		return element;
 	}
 	
-	protected TreeElement getOrCreate(List list, String id, String text) {
+	protected TreeElement getOrCreate(List<TreeElement> list, String id, String text) {
 		try {
 			Object obj = textMap.get(id);
 			if (obj != null)
@@ -86,7 +86,7 @@
 		
 		TreeElement element = new TreeElement();
 		element.text = text;
-		element.contents = new ArrayList();
+		element.contents = new ArrayList<Object>();
 		textMap.put(id, element);
 		list.add(element);
 		return element;
@@ -94,7 +94,7 @@
 
 	protected TreeElement getByText(String text) {
 		try {
-			return (TreeElement) textMap.get(text);
+			return textMap.get(text);
 		} catch (Exception e) {
 			return null;
 		}
@@ -102,7 +102,7 @@
 	
 	protected TreeElement getParentImpl(Object obj) {
 		try {
-			return (TreeElement) elementToParentMap.get(obj);
+			return elementToParentMap.get(obj);
 		} catch (Exception e) {
 			return null;
 		}
@@ -167,7 +167,7 @@
 	}
 
 	private Object[] getAllObjects() {
-		List list = new ArrayList();
+		List<Object> list = new ArrayList<Object>();
 		Object[] obj = getElements(null);
 		if (obj != null) {
 			int size = obj.length;
@@ -180,7 +180,7 @@
 		return list.toArray();
 	}
 
-	private void getAllChildren(List list, Object element) {
+	private void getAllChildren(List<Object> list, Object element) {
 		Object[] obj = getChildren(element);
 		if (obj != null) {
 			int size = obj.length;
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
new file mode 100644
index 0000000..64e5640
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseCellLabelProvider.java
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * 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.ColumnLabelProvider;
+import org.eclipse.jface.viewers.ILabelDecorator;
+import org.eclipse.jface.viewers.ViewerCell;
+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;
+
+	/* (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();
+		if (decorator == null)
+			decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
+		
+		this.decorator = decorator;
+	} 
+
+	public Point getToolTipShift(Object object) {
+		return new Point(5, 5);
+	}
+
+	public int getToolTipDisplayDelayTime(Object object) {
+		return 2000;
+	}
+
+	public int getToolTipTimeDisplayed(Object object) {	
+		return 5000;
+	}
+
+	/**
+	 * 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/BaseLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/BaseLabelProvider.java
index ac35837..a8cf616 100644
--- 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * 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
@@ -25,7 +25,7 @@
  */
 public abstract class BaseLabelProvider implements ILabelProvider {
 	protected ILabelDecorator decorator;
-	private transient List listeners;
+	private transient List<ILabelProviderListener> listeners;
 	private ILabelProviderListener providerListener;
 
 	/**
@@ -73,7 +73,7 @@
 			throw new IllegalArgumentException("Listener cannot be null");
 		
 		if (listeners == null)
-			listeners = new ArrayList();
+			listeners = new ArrayList<ILabelProviderListener>();
 		listeners.add(listener);
 	}
 
@@ -139,4 +139,4 @@
 			return "";
 		return s;
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/DefaultViewerSorter.java
index d383f8b..1e49c34 100644
--- 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
@@ -33,7 +33,7 @@
 		}
 
 		public static Version parseVersion(String version) {
-			List list = new ArrayList();
+			List<String> list = new ArrayList<String>();
 			StringTokenizer st = new StringTokenizer(version, SEPARATORS, false);
 			while (st.hasMoreTokens())
 				list.add(st.nextToken());
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java
index 23c5bca..f5a622c 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionComposite.java
@@ -12,6 +12,7 @@
 
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -21,6 +22,7 @@
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.viewers.*;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
@@ -41,7 +43,6 @@
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.ISite;
 import org.eclipse.wst.server.ui.internal.ImageResource;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.Trace;
@@ -59,7 +60,7 @@
 
 	protected Font font;
 
-	protected HashMap images;
+	protected HashMap<String, Image> images;
 
 	protected String progress;
 	protected int totalWork;
@@ -101,7 +102,8 @@
 		//data.heightHint = 250;
 		data.widthHint = 350;
 		table.setLayoutData(data);
-		table.setLinesVisible(true);
+		//table.setLinesVisible(true);
+		table.setHeaderVisible(false);
 		tableViewer = new TableViewer(table);
 		table.addDisposeListener(new DisposeListener() {
 			public void widgetDisposed(DisposeEvent e) {
@@ -117,10 +119,11 @@
 		TableColumn col2 = new TableColumn(table, SWT.NONE);
 		col2.setText("null");
 		*/
-		tableLayout.addColumnData(new ColumnWeightData(30, 250, false));
+		tableLayout.addColumnData(new ColumnWeightData(10, 250, false));
 		final TableColumn col = new TableColumn(table, SWT.NONE);
 		col.setText("null");
-		/*col.addListener(SWT.Selection, new Listener() {
+		/*col.setWidth(300);
+		col.addListener(SWT.Selection, new Listener() {
 			public void handleEvent(Event event) {
 				col.pack();
 			}
@@ -130,21 +133,33 @@
 		//TableColumn col2 = new TableColumn(table, SWT.NONE);
 		//col2.setText("null2");
 		
-		table.setHeaderVisible(false);
-		//table.setLinesVisible(false);
-		
 		final int TEXT_MARGIN = 3;
 		table.addListener(SWT.MeasureItem, new Listener() {
 			public void handleEvent(Event event) {
+				//System.out.println(event.width);
+				/*TableItem item = (TableItem) event.item;
+				Object obj = item.getData();
+				//System.out.println("measure " + obj);
+				if (obj instanceof CoreException) {
+					event.gc.setFont(font);
+					Point size = event.gc.textExtent("A");
+					event.gc.setFont(null);
+					//event.height = Math.max(event.height, TEXT_MARGIN * 2 + size.y);
+					event.height = TEXT_MARGIN * 2 + size.y;
+					System.out.println(event.height);
+					return;
+				}*/
 				event.gc.setFont(font);
 				Point size = event.gc.textExtent("A");
 				int h = TEXT_MARGIN * 3 + size.y;
-				event.gc.setFont(null);
 				size = event.gc.textExtent("A");
+				event.gc.setFont(null);
 				h += size.y;
 				h = Math.max(h, 40 + TEXT_MARGIN * 2);
-				event.width = 400;
+				//event.width = 400;
 				event.height = Math.max(event.height, h);
+				//System.out.println(event.height);
+				//event.width = 300;
 			}
 		});
 		table.addListener(SWT.EraseItem, new Listener() {
@@ -189,6 +204,22 @@
 					}
 					
 					return;
+				} else if (obj instanceof List) {
+					List<String> list = (List<String>) obj;
+					
+					int size = list.size();
+					String[] hosts = new String[size];
+					list.toArray(hosts);
+					
+					StringBuffer sb = new StringBuffer();
+					for (int i = 0; i < size; i++) {
+						if (i > 0)
+							sb.append(", ");
+						sb.append(hosts[i]);
+					}
+					String s = NLS.bind(Messages.wizNewInstallableServerSiteError, sb.toString());
+					gc.drawText(s, event.x + TEXT_MARGIN, event.y + TEXT_MARGIN, true);
+					return;
 				}
 				IFeature ei = (IFeature) obj;
 				if (ei == null)
@@ -208,7 +239,11 @@
 				String provider = "" + ei.getProvider();
 				//String provider = "" + ei.getImage();
 				//String provider = "" + ExtensionUtility.getDescription(ei);
-				String version = "v" + ei.getVersionedIdentifier().getVersion().toString();
+				String ver = ei.getVersionedIdentifier().toString();
+				int ind = ver.indexOf("_");
+				if (ind >= 0)
+					ver = ver.substring(ind+1);
+				String version = "v" + ver;
 				
 				Image image = getImage(ei.getImage());
 				if (image == null)
@@ -228,12 +263,16 @@
 				gc.drawText(provider, event.x + iw, event.y + yOffset, true);
 				
 				size = event.gc.textExtent(version);
-				gc.drawText(version, event.x + width - TEXT_MARGIN * 2 - size.x, event.y + yOffset, true);
+				gc.drawText(version, event.x + width - TEXT_MARGIN * 3 - size.x, event.y + yOffset, true);
 			}
 		});
 		
 		tableViewer.setSorter(new ViewerSorter() {
 			public int compare(Viewer viewer, Object e1, Object e2) {
+				if ((e1 instanceof IFeature) && !(e2 instanceof IFeature))
+					return -1;
+				if (!(e1 instanceof IFeature) && (e2 instanceof IFeature))
+					return 1;
 				try {
 					IFeature f1 = (IFeature) e1;
 					IFeature f2 = (IFeature) e2;
@@ -306,7 +345,7 @@
 			return null;
 		
 		try {
-			Image image = (Image) images.get(url.toString());
+			Image image = images.get(url.toString());
 			if (image != null)
 				return image;
 		} catch (Exception e) {
@@ -316,7 +355,7 @@
 			ImageDescriptor id = ImageDescriptor.createFromURL(url);
 			Image image = id.createImage();
 			if (images == null)
-				images = new HashMap();
+				images = new HashMap<String, Image>();
 			images.put(url.toString(), image);
 			return image;
 		} catch (Exception e) {
@@ -346,14 +385,16 @@
 	}
 
 	protected void deferInitialization() {
-		Object[] obj = new Object[] { Messages.viewInitializing };
-		tableViewer.setContentProvider(new ExtensionContentProvider(obj));
+		final List<Object> list = Collections.synchronizedList(new ArrayList<Object>());
+		list.add(Messages.viewInitializing);
+		
+		tableViewer.setContentProvider(new ExtensionContentProvider(list));
 		tableViewer.setLabelProvider(new ExtensionTableLabelProvider());
 		tableViewer.setInput(AbstractTreeContentProvider.ROOT);
 		
-		final Thread t = new Thread() {
+		final Thread t = new Thread("Deferred Initialization") {
 			public void run() {
-				deferredInitialize(new IProgressMonitor() {
+				deferredInitialize(list, new IProgressMonitor() {
 					public void beginTask(String name, int totalWork2) {
 						totalWork = totalWork2;
 						progress = name;
@@ -393,19 +434,14 @@
 		t.start();
 		
 		final Display display = getDisplay();
-		final int SLEEP = 200;
+		final int SLEEP = 100;
 		final Runnable[] animator = new Runnable[1];
 		animator[0] = new Runnable() {
 			public void run() {
 				if (t.isAlive()) {
 					count++;
-					try {
-						Object[] rootElements = ((IStructuredContentProvider)tableViewer.getContentProvider()).getElements(null);
-						//tableViewer.update(Messages.viewInitializing, null);
-						tableViewer.update(rootElements, null);
-					} catch (Exception e) {
-						// ignore
-					}
+					if (!table.isDisposed())
+						tableViewer.refresh(AbstractTreeContentProvider.ROOT);
 					display.timerExec(SLEEP, animator[0]);
 				}
 			}
@@ -413,48 +449,42 @@
 		display.timerExec(SLEEP, animator[0]);
 	}
 
-	public void deferredInitialize(IProgressMonitor monitor) {
-		final List list = new ArrayList();
+	public void deferredInitialize(final List<Object> list, IProgressMonitor monitor) {
+		final List<String> failedSites = new ArrayList<String>();
 		ExtensionUtility.FeatureListener listener2 = new ExtensionUtility.FeatureListener() {
 			public void featureFound(IFeature feature) {
 				list.add(feature);
-				int size = list.size();
-				final Object[] obj = new Object[size+1];
-				list.toArray(obj);
 				if (progress != null)
-					obj[size] = progress;
-				else
-					obj[size] = Messages.viewInitializing;
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						if (!table.isDisposed())
-							tableViewer.setContentProvider(new ExtensionContentProvider(obj));
-					}
-				});
+					list.set(0, progress);
 			}
 
 			public void featureRemoved(IFeature feature) {
 				list.remove(feature);
 			}
 
-			public void siteFailure(ISite site, CoreException ce) {
-				// 
+			public void siteFailure(String host) {
+				synchronized (failedSites) {
+					if (!list.contains(failedSites))
+						list.add(failedSites);
+					failedSites.add(host);
+				}
 			}
 		};
 		
 		String id = "org.eclipse.wst.server.core.serverAdapter";
 		try {
-			final IFeature[] ef = ExtensionUtility.getAllFeatures(id, listener2, monitor);
-			
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					if (!table.isDisposed())
-						tableViewer.setContentProvider(new ExtensionContentProvider(ef));
-				}
-			});
+			ExtensionUtility.getAllFeatures(id, listener2, monitor);
 		} catch (CoreException ce) {
-			ce.printStackTrace();
+			Trace.trace(Trace.WARNING, "Error downloading server adapter info", ce);
 		}
+		
+		list.remove(0);
+		Display.getDefault().asyncExec(new Runnable() {
+			public void run() {
+				if (!table.isDisposed())
+					tableViewer.refresh(AbstractTreeContentProvider.ROOT);
+			}
+		});
 	}
 
 	protected Object getSelection(ISelection sel2) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java
index ad8161c..a94cfeb 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionContentProvider.java
@@ -10,17 +10,19 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import java.util.List;
+
 import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 /**
  * Extension content provider.
  */
 public class ExtensionContentProvider implements IStructuredContentProvider {
-	protected Object[] items;
+	protected List list;
 
-	public ExtensionContentProvider(Object[] items) {
+	public ExtensionContentProvider(List list) {
 		super();
-		this.items = items;
+		this.list = list;
 	}
 
 	public void dispose() {
@@ -28,7 +30,7 @@
 	}
 
 	public Object[] getElements(Object inputElement) {
-		return items;
+		return list.toArray();
 	}
 
 	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java
index 068db46..75ce1da 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ExtensionTableLabelProvider.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import java.util.List;
+
 import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.update.core.IFeature;
@@ -38,9 +40,6 @@
 	 * @see ITableLabelProvider#getColumnImage(Object, int)
 	 */
 	public Image getColumnImage(Object element, int columnIndex) {
-		//if (columnIndex == 0)
-		//	return ImageResource.getImage(ImageResource.IMG_WIZBAN_NEW_SERVER);
-		
 		return null;
 	}
 
@@ -48,15 +47,13 @@
 	 * @see ITableLabelProvider#getColumnText(Object, int)
 	 */
 	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof String) {
+		if (element instanceof List)
+			return "Some update sites failed";
+		
+		if (element instanceof String)
 			return ((String) element) + Math.random();
-		}
+		
 		IFeature item = (IFeature) element;
-		if (columnIndex == 0) {
-		//	return "";
-		//} else if (columnIndex == 1) {
-			return item.getLabel() + "\n" + item.getProvider();
-		}
-		return "";
+		return item.getLabel() + "\n" + item.getProvider();
 	}
 }
\ 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
index ab7f09e..a989274 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -41,7 +41,7 @@
 	 * @see IStructuredContentProvider#getElements(Object)
 	 */
 	public Object[] getElements(Object inputElement) {
-		List list = new ArrayList();
+		List<IRuntime> list = new ArrayList<IRuntime>();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
@@ -59,4 +59,4 @@
 	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/RuntimeTreeContentProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeContentProvider.java
index e86c71d..b35adfa 100644
--- 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
@@ -30,7 +30,7 @@
 
 	public void fillTree() {
 		clean();
-		List list = new ArrayList();
+		List<TreeElement> list = new ArrayList<TreeElement>();
 		IRuntime[] runtimes = ServerCore.getRuntimes();
 		if (runtimes != null) {
 			int size = runtimes.length;
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
index 803203c..33754f2 100644
--- 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
@@ -15,7 +15,6 @@
 import org.eclipse.swt.widgets.Shell;
 
 import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.extension.ExtensionUtility;
@@ -110,9 +109,7 @@
 	}
 
 	protected String getDetailsLabel() {
-		if (ServerPlugin.getInstallableServers().length > 0)
-			return Messages.installableServerLink;
-		return null;
+		return Messages.installableServerLink;
 	}
 
 	private void closeWizard(Composite comp) {
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
index 59f4e46..e169f84 100644
--- 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
@@ -45,7 +45,7 @@
 
 	public void fillTree() {
 		clean();
-		List list = new ArrayList();
+		List<TreeElement> list = new ArrayList<TreeElement>();
 		IRuntimeType[] runtimeTypes = ServerUtil.getRuntimeTypes(type, version, runtimeTypeId);
 		if (runtimeTypes != null) {
 			int size = runtimeTypes.length;
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
index 961a4ff..758a16a 100644
--- 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
@@ -49,7 +49,7 @@
 	
 	protected void fillTree() {
 		clean();
-		List list = new ArrayList();
+		List<TreeElement> list = new ArrayList<TreeElement>();
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
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
index b7a26fd..6c17709 100644
--- 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
@@ -22,7 +22,6 @@
 
 import org.eclipse.wst.server.core.IModuleType;
 import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.extension.ExtensionUtility;
@@ -138,9 +137,7 @@
 	}
 
 	protected String getDetailsLabel() {
-		if (ServerPlugin.getInstallableServers().length > 0)
-			return Messages.installableServerLink;
-		return null;
+		return Messages.installableServerLink;
 	}
 
 	private void closeWizard(Composite comp) {
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
index ae47d9a..86cf3e4 100644
--- 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
@@ -45,7 +45,7 @@
 	public void fillTree() {
 		clean();
 
-		List list = new ArrayList();
+		List<TreeElement> list = new ArrayList<TreeElement>();
 		IServerType[] serverTypes = ServerCore.getServerTypes();
 		if (serverTypes != null) {
 			int size = serverTypes.length;
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
index 58e4bb9..c1970c8 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -21,7 +21,7 @@
 
 	public Version(String s) {
 		StringTokenizer st = new StringTokenizer(s, SEPARATOR);
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		
 		while (st.hasMoreTokens()) {
 			String str = st.nextToken();
@@ -68,4 +68,4 @@
 			return 1;
 		return -1;
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java
index b62301e..c404e8d 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/ExtensionWizard.java
@@ -43,7 +43,7 @@
 	 */
 	public ExtensionWizard(String title, String message) {
 		super(title, new WizardFragment() {
-			protected void createChildFragments(List list) {
+			protected void createChildFragments(List<WizardFragment> list) {
 				list.add(new ExtensionWizardFragment());
 				list.add(new LicenseWizardFragment());
 				list.add(new WizardFragment() {
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
index 6a7c456..5785294 100644
--- 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
@@ -25,7 +25,7 @@
  */
 public class ModifyModulesWizard extends TaskWizard {
 	static class ModifyModulesWizard2 extends WizardFragment {
-		protected void createChildFragments(List list) {
+		protected void createChildFragments(List<WizardFragment> list) {
 			list.add(new ModifyModulesWizardFragment());
 			list.add(WizardTaskUtil.SaveServerFragment);
 			
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
index 7e5da64..54a7877 100644
--- 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
@@ -27,7 +27,7 @@
 	 */
 	public NewRuntimeWizard() {
 		super(Messages.wizNewRuntimeWizardTitle, new WizardFragment() {
-			protected void createChildFragments(List list) {
+			protected void createChildFragments(List<WizardFragment> list) {
 				list.add(new NewRuntimeWizardFragment());
 				list.add(WizardTaskUtil.SaveRuntimeFragment);
 			}
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
index b588f64..304dd7c 100644
--- 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
@@ -35,7 +35,7 @@
 
 	public NewServerWizard(final String[] ids, final String[] values) {
 		super(Messages.wizNewServerWizardTitle, new WizardFragment() {
-			protected void createChildFragments(List list) {
+			protected void createChildFragments(List<WizardFragment> list) {
 				list.add(new NewServerWizardFragment());
 				
 				list.add(WizardTaskUtil.TempSaveRuntimeFragment);
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
index 218512e..150d730 100644
--- 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
@@ -43,9 +43,9 @@
 	private static final byte FINISH = 2;
 	private static final byte CANCEL = 3;
 
-	private List pages;
+	private List<IWizardPage> pages;
 	private boolean addingPages;
-	private Map fragmentData = new HashMap();
+	private Map<WizardFragment, TaskWizardPage> fragmentData = new HashMap<WizardFragment, TaskWizardPage>();
 	protected TaskModel taskModel;
 	
 	private IWizardContainer container = null;
@@ -295,8 +295,8 @@
 		currentFragment.enter();
 	}
 	
-	private List getAllWizardFragments() {
-		List list = new ArrayList();
+	private List<WizardFragment> getAllWizardFragments() {
+		List<WizardFragment> list = new ArrayList<WizardFragment>();
 		list.add(rootFragment);
 		addSubWizardFragments(rootFragment, list);
 		
@@ -309,7 +309,7 @@
 		return list;
 	}
 
-	private void addSubWizardFragments(WizardFragment fragment, List list) {
+	private void addSubWizardFragments(WizardFragment fragment, List<WizardFragment> list) {
 		Iterator iterator = fragment.getChildFragments().iterator();
 		while (iterator.hasNext()) {
 			WizardFragment child = (WizardFragment) iterator.next();
@@ -327,10 +327,10 @@
 		
 		try {
 			addingPages = true;
-			pages = new ArrayList();
-			Iterator iterator = getAllWizardFragments().iterator();
+			pages = new ArrayList<IWizardPage>();
+			Iterator<WizardFragment> iterator = getAllWizardFragments().iterator();
 			while (iterator.hasNext()) {
-				WizardFragment fragment = (WizardFragment) iterator.next();
+				WizardFragment fragment = iterator.next();
 				TaskWizardPage page = getFragmentData(fragment);
 				if (fragment.hasComposite()) {
 					if (page != null)
@@ -360,7 +360,7 @@
 
 	private TaskWizardPage getFragmentData(WizardFragment fragment) {
 		try {
-			TaskWizardPage page = (TaskWizardPage) fragmentData.get(fragment);
+			TaskWizardPage page = fragmentData.get(fragment);
 			if (page != null)
 				return page;
 		} catch (Exception e) {
@@ -380,7 +380,7 @@
 	public boolean canFinish() {
 		// Default implementation is to check if all pages are complete.
 		for (int i= 0; i < pages.size(); i++) {
-			if (!((IWizardPage)pages.get(i)).isPageComplete())
+			if (!(pages.get(i)).isPageComplete())
 				return false;
 		}
 		return true;
@@ -392,7 +392,7 @@
 	public void createPageControls(Composite pageContainer) {
 		// the default behavior is to create all the pages controls
 		for (int i = 0; i < pages.size(); i++){
-			IWizardPage page = (IWizardPage) pages.get(i);
+			IWizardPage page = pages.get(i);
 			page.createControl(pageContainer);
 		}
 	}
@@ -402,8 +402,8 @@
 	 */
 	public void dispose() {
 		// notify pages
-		for (int i = 0; i < pages.size(); i++){
-			((IWizardPage)pages.get(i)).dispose();
+		for (int i = 0; i < pages.size(); i++) {
+			pages.get(i).dispose();
 		}
 
 		// dispose of image
@@ -443,7 +443,7 @@
 			// last page or page not found
 			return null;
 		
-		return (IWizardPage)pages.get(index + 1);
+		return pages.get(index + 1);
 	}
 
 	/* (non-Javadoc)
@@ -451,7 +451,7 @@
 	 */
 	public IWizardPage getPage(String name) {
 		for (int i= 0; i < pages.size(); i++) {
-			IWizardPage page = (IWizardPage)pages.get(i);
+			IWizardPage page = pages.get(i);
 			String pageName = page.getName();
 			if (pageName.equals(name))
 				return page;
@@ -470,7 +470,7 @@
 	 * @see org.eclipse.jface.wizard.IWizard#getPages()
 	 */
 	public IWizardPage[] getPages() {
-		return (IWizardPage[])pages.toArray(new IWizardPage[pages.size()]);
+		return pages.toArray(new IWizardPage[pages.size()]);
 	}
 
 	/* (non-Javadoc)
@@ -481,7 +481,7 @@
 		if (index == 0 || index == -1)
 			// first page or page not found
 			return null;
-		return (IWizardPage)pages.get(index - 1);
+		return pages.get(index - 1);
 	}
 
 	/* (non-Javadoc)
@@ -491,7 +491,7 @@
 		if (pages.size() == 0)
 			return null;
 		
-		return (IWizardPage) pages.get(0);
+		return pages.get(0);
 	}
 
 	/* (non-Javadoc)
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
index ae1281c..a473ed2 100644
--- 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
@@ -188,7 +188,7 @@
 		taskModel.putObject(TaskModel.TASK_SERVER, workingCopy.save(false, monitor));
 	}
 
-	public static void modifyModules(List add, List remove, TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
+	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;
 		
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
index ee31c1b..02b9e09 100644
--- 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
@@ -82,21 +82,19 @@
 				return;
 			}
 			
-			final List moduleList = new ArrayList();
-			if (server != null) {
-				((Server) server).visit(new IModuleVisitor() {
-					public boolean visit(IModule[] module2) {
-						moduleList.add(module2);
-						return true;
-					}
-				}, null);
-			}
+			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 list = new ArrayList();
+				List<IModule> list = new ArrayList<IModule>();
 				
 				if (parents != null && parents.length > 0) {
 					parent = parents[0];
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
index 7b33c34..273d1ed 100644
--- 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
@@ -38,7 +38,7 @@
 	// filter by partial runtime type id
 	protected String runtimeTypeId;
 
-	protected Map fragmentMap = new HashMap();
+	protected Map<String, WizardFragment> fragmentMap = new HashMap<String, WizardFragment>();
 
 	public NewRuntimeWizardFragment() {
 		// do nothing
@@ -62,12 +62,12 @@
 	}
 
 	public List getChildFragments() {
-		List listImpl = new ArrayList();
+		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
 		createChildFragments(listImpl);
 		return listImpl;
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		if (getTaskModel() == null)
 			return;
 		
@@ -79,39 +79,37 @@
 		if (sub != null)
 			list.add(sub);
 		
-		if (runtime != null) {
-			IServerWorkingCopy server = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
-			if (server != null) {
-				if (server.getServerType().hasServerConfiguration() && server instanceof ServerWorkingCopy) {
-					ServerWorkingCopy swc = (ServerWorkingCopy) server;
-					try {
-						if (swc != null && runtime != null && runtime.getLocation() != null && !runtime.getLocation().isEmpty())
-							swc.importRuntimeConfiguration(runtime, null);
-					} catch (CoreException ce) {
-						// ignore
-					}
+		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);
 			}
+			
+			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 = (WizardFragment) fragmentMap.get(typeId);
+			WizardFragment fragment = fragmentMap.get(typeId);
 			if (fragment != null)
 				return fragment;
 		} catch (Exception e) {
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
index 60b9400..0b0694e 100644
--- 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
@@ -37,8 +37,7 @@
 	protected IModuleType moduleType;
 	protected String serverTypeId;
 
-	protected Map fragmentMap = new HashMap();
-	protected Map configMap = new HashMap();
+	protected Map<String, WizardFragment> fragmentMap = new HashMap<String, WizardFragment>();
 	protected IPath runtimeLocation = null;
 
 	public NewServerWizardFragment() {
@@ -79,7 +78,7 @@
 
 	protected WizardFragment getWizardFragment(String typeId) {
 		try {
-			WizardFragment fragment = (WizardFragment) fragmentMap.get(typeId);
+			WizardFragment fragment = fragmentMap.get(typeId);
 			if (fragment != null)
 				return fragment;
 		} catch (Exception e) {
@@ -93,12 +92,12 @@
 	}
 
 	public List getChildFragments() {
-		List listImpl = new ArrayList();
+		List<WizardFragment> listImpl = new ArrayList<WizardFragment>();
 		createChildFragments(listImpl);
 		return listImpl;
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		if (getTaskModel() == null)
 			return;
 		
@@ -115,7 +114,7 @@
 			if (server != null) {
 				if (server.getServerType().hasServerConfiguration() && server instanceof ServerWorkingCopy) {
 					ServerWorkingCopy swc = (ServerWorkingCopy) server;
-					if (swc != null && runtime != null && runtime.getLocation() != null && !runtime.getLocation().isEmpty()) {
+					if (runtime != null && runtime.getLocation() != null && !runtime.getLocation().isEmpty()) {
 						if (runtimeLocation == null || !runtimeLocation.equals(runtime.getLocation()))
 							try {
 								swc.importRuntimeConfiguration(runtime, null);
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
index 4f71c8a..1be60ea 100644
--- 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
@@ -35,7 +35,7 @@
 		this.moduleArtifact = moduleArtifact;
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		if (clients != null && clients.length > 1)
 			list.add(new SelectClientWizardFragment());
 	}
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
index d766839..b2fcf7a 100644
--- 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
@@ -51,7 +51,7 @@
 		this.moduleArtifact = moduleArtifact;
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		if (server == null) {
 			list.add(new NewServerWizardFragment(module));
 			
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
index 3246887..df4a1e3 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -58,4 +58,4 @@
 		comp = new TasksComposite(parent, wizard);
 		return comp;
 	}
-}
\ No newline at end of file
+}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
index 07eed43..77de084 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/fragment/TasksWizardFragment.java
@@ -40,10 +40,10 @@
 				return false;
 			
 			if (selectedTaskMap.containsKey(id))
-				return ((Boolean) selectedTaskMap.get(id)).booleanValue();
+				return (selectedTaskMap.get(id)).booleanValue();
 			
 			if (selectedTaskMap.containsKey(DEFAULT + id))
-				return ((Boolean) selectedTaskMap.get(DEFAULT + id)).booleanValue();
+				return (selectedTaskMap.get(DEFAULT + id)).booleanValue();
 
 			return false;
 		}
@@ -53,7 +53,7 @@
 		}
 
 		public boolean getDefaultSelected() {
-			return ((Boolean) selectedTaskMap.get(DEFAULT + id)).booleanValue();
+			return (selectedTaskMap.get(DEFAULT + id)).booleanValue();
 		}
 
 		public void setSelected(boolean sel) {
@@ -107,13 +107,13 @@
 	protected boolean hasOptionalTasks;
 	protected boolean hasPreferredTasks;
 
-	protected Map selectedTaskMap = new HashMap();
+	protected Map<String, Boolean> selectedTaskMap = new HashMap<String, Boolean>();
 
 	public TasksWizardFragment() {
 		// do nothing
 	}
 
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		if (tasks == null || tasks.isEmpty())
 			return;
 		
@@ -152,7 +152,7 @@
 		List modules = (List) getTaskModel().getObject(TaskModel.TASK_MODULES);
 		
 		if (server != null && modules == null) {
-			final List moduleList = new ArrayList();
+			final List<IModule[]> moduleList = new ArrayList<IModule[]>();
 			((Server) server).visit(new IModuleVisitor() {
 				public boolean visit(IModule[] module2) {
 					moduleList.add(module2);
@@ -166,7 +166,7 @@
 		if (server != null && modules != null) {
 			hasOptionalTasks = false;
 			hasPreferredTasks = false;
-			List taskList = new ArrayList(5);
+			List<TaskInfo> taskList = new ArrayList<TaskInfo>(5);
 			createTasks(taskList, server, modules);
 			
 			if (tasks == null || !tasks.equals(taskList)) {
@@ -181,12 +181,12 @@
 		}
 	}
 
-	protected void createTasks(List taskList, IServerAttributes server, List modules) {
+	protected void createTasks(List<TaskInfo> taskList, IServerAttributes server, List modules) {
 		if (server == null)
 			return;
 		
-		List enabledTasks = ((Server)server).getEnabledOptionalPublishOperationIds();
-		List disabledTasks = ((Server)server).getDisabledPreferredPublishOperationIds();
+		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();
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
index 408d9ba..0804b1c 100644
--- 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
@@ -1,10 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
  *******************************************************************************/
@@ -13,22 +13,26 @@
 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.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
 /**
  * A composite used to select a hostname.
  */
@@ -37,7 +41,7 @@
 	protected String host;
 	protected IHostnameSelectionListener listener;
 	
-	protected Combo combo;
+	protected Text hostname;
 	
 	public interface IHostnameSelectionListener {
 		public void hostnameSelected(String host);
@@ -73,30 +77,38 @@
 		label.setText(Messages.hostname);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 		
-		List hosts = ServerUIPlugin.getPreferences().getHostnames();
-		String[] s = new String[hosts.size()];
-		hosts.toArray(s);
-		
-		combo = new Combo(this, SWT.DROP_DOWN);
-		combo.setItems(s);
-		combo.setText(LOCALHOST);
+		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;
-		combo.setLayoutData(data);
+		hostname.setLayoutData(data);
 		
-		combo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				hostnameChanged(combo.getText());
-			}
-		});
-		combo.addModifyListener(new ModifyListener() {
+		hostname.addModifyListener(new ModifyListener() {
 			public void modifyText(ModifyEvent e) {
-				Point p = combo.getSelection();
-				hostnameChanged(combo.getText());
-				combo.setSelection(p);
+				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);
 	}
 
@@ -115,7 +127,7 @@
 		return host;
 	}
 
-	public void setHostname(String hostname) {
-		combo.setText(hostname);
+	public void setHostname(String newHostname) {
+		hostname.setText(newHostname);
 	}
-}
\ 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
index 765c70a..64f53c2 100644
--- 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
@@ -70,17 +70,17 @@
 	protected IRuntime runtime;
 	protected boolean runtimeDirty;
 
-	protected Map childModuleMap = new HashMap();
-	protected Map parentModuleMap = new HashMap();
+	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 originalModules = new ArrayList();
+	protected List<IModule> originalModules = new ArrayList<IModule>();
 
 	// modules available to be added to the server
-	protected List modules = new ArrayList();
+	protected List<IModule> modules = new ArrayList<IModule>();
 
 	// current modules on the server
-	protected List deployed = new ArrayList();
+	protected List<IModule> deployed = new ArrayList<IModule>();
 
 	protected TreeViewer availableTreeViewer;
 	protected TreeViewer deployedTreeViewer;
@@ -98,7 +98,7 @@
 	// must be kept on the server
 	protected IModule[] requiredModules;
 
-	protected Map errorMap;
+	protected Map<IModule, IStatus> errorMap;
 
 	abstract class TreeContentProvider implements ITreeContentProvider {
 		public void dispose() {
@@ -112,9 +112,9 @@
 		public Object[] getChildren(Object parentElement) {
 			ModuleServer ms = (ModuleServer) parentElement;
 			IModule[] parent = ms.module;
-			IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent));
+			IModule[] children = childModuleMap.get(new ChildModuleMapKey(parent));
 			
-			List list = new ArrayList();
+			List<ModuleServer> list = new ArrayList<ModuleServer>();
 			if (children != null) {
 				int size = children.length;
 				for (int i = 0; i < size; i++) {
@@ -135,7 +135,7 @@
 		public Object getParent(Object element) {
 			ModuleServer ms = (ModuleServer) element;
 			IModule[] child = ms.module;
-			IModule[] modules2 = (IModule[]) parentModuleMap.get(child);
+			IModule[] modules2 = parentModuleMap.get(child);
 			if (modules2 == null)
 				return null;
 			return new ModuleServer(null, modules2);
@@ -144,14 +144,14 @@
 		public boolean hasChildren(Object element) {
 			ModuleServer ms = (ModuleServer) element;
 			IModule[] parent = ms.module;
-			IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent));
+			IModule[] children = childModuleMap.get(new ChildModuleMapKey(parent));
 			return (children != null && children.length > 0);
 		}
 	}
 
 	class AvailableContentProvider extends TreeContentProvider {
 		public Object[] getElements(Object inputElement) {
-			List list = new ArrayList();
+			List<ModuleServer> list = new ArrayList<ModuleServer>();
 			Iterator iterator = modules.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
@@ -163,7 +163,7 @@
 
 	class DeployedContentProvider extends TreeContentProvider {
 		public Object[] getElements(Object inputElement) {
-			List list = new ArrayList();
+			List<ModuleServer> list = new ArrayList<ModuleServer>();
 			Iterator iterator = deployed.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
@@ -273,11 +273,11 @@
 			}
 		}
 		
-		originalModules = new ArrayList();
-		deployed = new ArrayList();
-		modules = new ArrayList();
+		originalModules = new ArrayList<IModule>();
+		deployed = new ArrayList<IModule>();
+		modules = new ArrayList<IModule>();
 		
-		childModuleMap = new HashMap();
+		childModuleMap = new HashMap<ChildModuleMapKey, IModule[]>();
 		
 		if (server == null)
 			return;
@@ -294,7 +294,7 @@
 		
 		// add new module
 		requiredModules = null;
-		errorMap = new HashMap();
+		errorMap = new HashMap<IModule, IStatus>();
 		if (requiredModule != null) {
 			try {
 				IModule[] parents = server.getRootModules(requiredModule, null);
@@ -368,16 +368,16 @@
 		
 		// get children recursively one level
 		// put child elements into a different list to avoid concurrent modifications
-		iterator = childModuleMap.keySet().iterator();
-		List list = new ArrayList();
-		while (iterator.hasNext()) {
-			list.add(iterator.next());
+		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 = (IModule[]) childModuleMap.get(key);
+			IModule[] children0 = childModuleMap.get(key);
 			if (children0 != null) {
 				int size = children0.length;
 				for (int i = 0; i < size; i++) {
@@ -710,7 +710,7 @@
 				IModule module = getModule(ms[i]);
 				if (module != null) {
 					try {
-						IStatus status = (IStatus) errorMap.get(module);
+						IStatus status = errorMap.get(module);
 						if (modules.contains(module) && status != null) {
 							if (status.getSeverity() == IStatus.ERROR) {
 								enabled = false;
@@ -776,7 +776,7 @@
 				}
 			}
 			
-			List list = new ArrayList();
+			List<IModule> list = new ArrayList<IModule>();
 			list.addAll(deployed);
 			list.remove(keep);
 			
@@ -791,9 +791,9 @@
 
 	protected void moveAll(IModule[] mods, boolean add2) {
 		int size = mods.length;
-		List list = new ArrayList();
+		List<IModule> list = new ArrayList<IModule>();
 		for (int i = 0; i < size; i++) {
-			IStatus status = (IStatus) errorMap.get(mods[i]);
+			IStatus status = errorMap.get(mods[i]);
 			
 			if (status == null && !list.contains(mods[i]))
 				list.add(mods[i]);
@@ -830,8 +830,8 @@
 		wizard.update();
 	}
 
-	public List getModulesToRemove() {
-		List list = new ArrayList();
+	public List<IModule> getModulesToRemove() {
+		List<IModule> list = new ArrayList<IModule>();
 		Iterator iterator = originalModules.iterator();
 		while (iterator.hasNext()) {
 			IModule module = (IModule) iterator.next();
@@ -841,8 +841,8 @@
 		return list;
 	}
 
-	public List getModulesToAdd() {
-		List list = new ArrayList();
+	public List<IModule> getModulesToAdd() {
+		List<IModule> list = new ArrayList<IModule>();
 		Iterator iterator = deployed.iterator();
 		while (iterator.hasNext()) {
 			IModule module = (IModule) iterator.next();
@@ -852,7 +852,7 @@
 		return list;
 	}
 	
-	private void addChildMap(List map, IModule[] parents, IModule[] children) {
+	private void addChildMap(List<IModule[]> map, IModule[] parents, IModule[] children) {
 		if (children == null)
 			return;
 		
@@ -866,21 +866,21 @@
 			modules2[size2] = module;
 			map.add(modules2);
 			
-			IModule[] children2 = (IModule[]) childModuleMap.get(new ChildModuleMapKey(module));
+			IModule[] children2 = childModuleMap.get(new ChildModuleMapKey(module));
 			if (children2 != null)
 				addChildMap(map, modules2, children2);
 		}
 	}
 
 	public List getModuleMap() {
-		final List map = new ArrayList();
+		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 = (IModule[]) childModuleMap.get(new ChildModuleMapKey(module));
+			IModule[] children = childModuleMap.get(new ChildModuleMapKey(module));
 			if (children != null)
 				addChildMap(map, moduleTree, children);
 		}
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
index 3ca4b77..dabc762 100644
--- 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
@@ -15,6 +15,10 @@
 import java.util.List;
 
 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.operation.IRunnableWithProgress;
@@ -22,16 +26,19 @@
 import org.eclipse.jface.window.Window;
 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.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.dialogs.PreferencesUtil;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
@@ -40,6 +47,10 @@
 import org.eclipse.wst.server.core.util.SocketUtil;
 import org.eclipse.wst.server.ui.internal.*;
 import org.eclipse.wst.server.ui.internal.viewers.ServerTypeComposite;
+import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog;
+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;
 /**
  * Wizard page used to create a server and configuration at the same time.
  */
@@ -60,10 +71,17 @@
 
 	protected Label runtimeLabel;
 	protected Combo runtimeCombo;
-	protected Button runtimeButton;
+	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;
@@ -71,6 +89,7 @@
 	protected String host;
 
 	protected IModuleType moduleType;
+	protected IModule module;
 	protected String serverTypeId;
 	protected boolean includeIncompatible;
 
@@ -84,16 +103,18 @@
 	 * @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, String serverTypeId, boolean includeIncompatible, ServerSelectionListener 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;
 		
@@ -130,6 +151,63 @@
 		serverTypeComposite.setLayoutData(data);
 		whs.setHelp(serverTypeComposite, ContextIds.NEW_SERVER_TYPE);
 		
+		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();
+				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() {
+					ServerUtil.setServerDefaultName(server);
+					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);
 		
@@ -148,9 +226,23 @@
 			}
 		});
 		
-		runtimeButton = SWTUtil.createButton(this, Messages.installedRuntimes);
-		runtimeButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		runtimeButton.addSelectionListener(new SelectionAdapter() {
+		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();
+				if (showRuntimeWizard(serverType) != Window.CANCEL)
+					updateRuntimeCombo(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;
@@ -169,6 +261,33 @@
 		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) {
+			Trace.trace(Trace.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);
+		ClosableWizardDialog dialog = new ClosableWizardDialog(getShell(), wizard2);
+		return dialog.open();
+	}
+
 	public void setHost(String host) {
 		this.host = host;
 		if (serverTypeComposite == null)
@@ -265,7 +384,7 @@
 		newRuntime = null;
 		
 		if (server != null && runtimes != null) {
-			List runtimes2 = new ArrayList();
+			List<IRuntime> runtimes2 = new ArrayList<IRuntime>();
 			int size = runtimes.length;
 			for (int i = 0; i < size; i++) {
 				IRuntime runtime2 = runtimes[i];
@@ -298,8 +417,10 @@
 				runtimeCombo.setEnabled(false);
 				runtimeLabel.setVisible(false);
 				runtimeCombo.setVisible(false);
-				runtimeButton.setEnabled(false);
-				runtimeButton.setVisible(false);
+				configureRuntimes.setEnabled(false);
+				configureRuntimes.setVisible(false);
+				addRuntime.setEnabled(false);
+				addRuntime.setVisible(false);
 			}
 			runtimes = new IRuntime[0];
 			setRuntime(null);
@@ -340,10 +461,12 @@
 			boolean showRuntime = ServerUIPlugin.getRuntimes(runtimeType).length >=1;
 			runtimeCombo.setEnabled(showRuntime);
 			runtimeLabel.setEnabled(showRuntime);
-			runtimeButton.setEnabled(showRuntime);
+			configureRuntimes.setEnabled(showRuntime);
+			addRuntime.setEnabled(showRuntime);
 			runtimeLabel.setVisible(showRuntime);
 			runtimeCombo.setVisible(showRuntime);
-			runtimeButton.setVisible(showRuntime);
+			configureRuntimes.setVisible(showRuntime);
+			addRuntime.setVisible(showRuntime);
 		}
 	}
 
@@ -381,7 +504,29 @@
 		} 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);
+					server = null;
+				}
+			}
 		}
+		
+		if (serverName != null && !serverNameModified) {
+			updatingServerName = true;
+			if (server == null)
+				serverName.setText("");
+			else
+				serverName.setText(server.getName());
+			updatingServerName = false;
+		}
+		
 		updateRuntimeCombo(serverType);
 		listener.serverSelected(server);
 		wizard.update();
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
index f23c483..321dd92 100644
--- 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
@@ -48,8 +48,8 @@
 	protected IRuntimeWorkingCopy runtime;
 
 	// cache of created runtimes and servers
-	protected Map cache = new HashMap();
-	protected Map serverCache = new HashMap();
+	protected Map<IRuntimeType, IRuntimeWorkingCopy> cache = new HashMap<IRuntimeType, IRuntimeWorkingCopy>();
+	protected Map<IRuntime, IServerWorkingCopy> serverCache = new HashMap<IRuntime, IServerWorkingCopy>();
 
 	protected TaskModel taskModel;
 	protected IWizardHandle wizard;
@@ -113,7 +113,7 @@
 		else {
 			try {
 				runtime = null;
-				runtime = (IRuntimeWorkingCopy) cache.get(runtimeType);
+				runtime = cache.get(runtimeType);
 			} catch (Exception e) {
 				// ignore
 			}
@@ -149,7 +149,7 @@
 	}
 
 	protected static IServerType getCompatibleServerType(IRuntimeType runtimeType) {
-		List list = new ArrayList();
+		List<IServerType> list = new ArrayList<IServerType>();
 		IServerType[] serverTypes = ServerCore.getServerTypes();
 		int size = serverTypes.length;
 		for (int i = 0; i < size; i++) {
@@ -158,7 +158,7 @@
 				list.add(serverTypes[i]);
 		}
 		if (list.size() == 1)
-			return (IServerType) list.get(0);
+			return list.get(0);
 		return null;
 	}
 
@@ -169,7 +169,7 @@
 		if (serverType == null || runtime == null || !serverType.hasRuntime())
 			return null;
 		
-		IServerWorkingCopy server = (IServerWorkingCopy) serverCache.get(runtime);
+		IServerWorkingCopy server = serverCache.get(runtime);
 		if (server != null)
 			return server;
 		
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
index 542ecb7..6490742 100644
--- 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
@@ -14,6 +14,7 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.operation.IRunnableWithProgress;
@@ -213,7 +214,7 @@
 		createAutoComposite(stack);
 		createManualComposite(stack);
 	
-		if (existingComp != null) {
+		if (existingComp != null && existing != null) {
 			if (isExistingServer()) {
 				mode = MODE_EXISTING;
 				stackLayout.topControl = existingComp;
@@ -334,63 +335,16 @@
 				
 				// check for compatibility
 				if (server != null && module != null) {
-					IServerType serverType = server.getServerType();
-					IModuleType mt = module.getModuleType();
-					if (!ServerUtil.isSupportedModule(serverType.getRuntimeType().getModuleTypes(), mt)) {
-						String type = mt.getName();
-						wizard.setMessage(NLS.bind(Messages.errorVersionLevel, new Object[] { type, mt.getVersion() }), IMessageProvider.ERROR);
+					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 (wizard.getMessage() == null) {
-						IModule[] rootModules = null;
-						try {
-							rootModules = server.getRootModules(module, null);
-						} catch (CoreException ce) {
-							IStatus status = ce.getStatus();
-							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;
-							}
-						} catch (Exception e) {
-							Trace.trace(Trace.WARNING, "Could not find root module", e);
-						}
-						if (rootModules != null) {
-							if (rootModules.length == 0) {
-								wizard.setMessage(Messages.errorRootModule, IMessageProvider.ERROR);
-								server = null;
-							} else {
-								int size = rootModules.length;
-								IStatus status = null;
-								boolean found = false;
-								for (int i = 0; i < size; i++) {
-									try {
-										status = server.canModifyModules(new IModule[] {rootModules[i]}, null, null);
-										if (status != null && status.isOK())
-											found = true;
-									} catch (Exception e) {
-										Trace.trace(Trace.WARNING, "Could not find root module", e);
-									}
-								}
-								if (!found && status != null) {
-									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) {
@@ -409,7 +363,55 @@
 		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) {
+				Trace.trace(Trace.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) {
+						Trace.trace(Trace.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;
@@ -457,7 +459,7 @@
 			public void setMessage(String newMessage, int newType) {
 				wizard.setMessage(newMessage, newType);
 			}
-		}, mt, serverTypeId, includeIncompatible, new NewManualServerComposite.ServerSelectionListener() {
+		}, mt, module, serverTypeId, includeIncompatible, new NewManualServerComposite.ServerSelectionListener() {
 			public void serverSelected(IServerAttributes server) {
 				updateTaskModel();
 			}
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
index cfcb3a5..c328a46 100644
--- 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
@@ -23,14 +23,14 @@
  * A helper class used to cache the creation of servers.
  */
 public class ServerCreationCache {
-	protected Map cache;
+	protected Map<String, IServerWorkingCopy> cache;
 
 	/**
 	 * ServerCreationCache constructor comment.
 	 */
 	public ServerCreationCache() {
 		super();
-		cache = new HashMap();
+		cache = new HashMap<String, IServerWorkingCopy>();
 	}
 
 	/**
@@ -72,7 +72,7 @@
 	 */
 	public IServerWorkingCopy getCachedServer(IServerType type, boolean isLocalhost) {
 		try {
-			IServerWorkingCopy server = (IServerWorkingCopy) cache.get(getKey(type, isLocalhost));
+			IServerWorkingCopy server = cache.get(getKey(type, isLocalhost));
 			if (server != null)
 				return server;
 		} catch (Exception e) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java
index e3a819f..c19a6ed 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/WizardUtil.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -11,10 +11,7 @@
 package org.eclipse.wst.server.ui.internal.wizard.page;
 
 import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.IWizard;
 import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.wst.server.core.internal.ServerPlugin;
@@ -22,7 +19,6 @@
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.wizard.ClosableWizardDialog;
 import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
 /**
  * A helper class for wizards.
  */
@@ -127,107 +123,6 @@
 	}
 
 	/**
-	 * Return the full pathname of a container.
-	 *
-	 * @param container org.eclipse.core.resources.Container
-	 * @return java.lang.String
-	 */
-	public static String getContainerText(IContainer container) {
-		String name = container.getName();
-		while (container != null && !(container instanceof IProject)) {
-			container = container.getParent();
-			name = container.getName() + "/" + name;
-		}
-		return name;
-	}
-
-	/**
-	 * Returns the selected container from this selection.
-	 *
-	 * @param selection the selection
-	 * @return the container
-	 */
-	public static IContainer getSelectionContainer(IStructuredSelection selection) {
-		if (selection == null || selection.isEmpty())
-			return null;
-	
-		Object obj = selection.getFirstElement();
-		if (obj instanceof IResource)
-			return findServerProjectContainer((IResource) obj);
-	
-		return null;
-	}
-
-	/**
-	 * Return true if the container is a valid server project
-	 * folder and is not "within" a server instance or configuration.
-	 *
-	 * @param name a container name
-	 * @return <code>null</code> if the container is fine, and an error message
-	 *    otherwise 
-	 */
-	public static String validateContainer(String name) {
-		IContainer container = WizardUtil.findContainer(name);
-		if (container == null || !container.exists()) {
-			IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.PROJECT);
-			if (status.isOK())
-				return null; // we can create one later
-			return status.getMessage();
-		}
-		
-		String error = Messages.wizErrorInvalidFolder;
-		try {
-			// find project of this container
-			IProject project = null;
-			if (container instanceof IProject) {
-				project = (IProject) container;
-			} else {
-				// look up hierarchy for project
-				IContainer temp = container.getParent();
-				while (project == null && temp != null && !(temp instanceof IProject)) {
-					temp = temp.getParent();
-				}
-				if (temp != null && temp instanceof IProject)
-					project = (IProject) temp;
-			}
-	
-			// validate the project
-			if (project != null && !project.isOpen())
-				return Messages.wizErrorClosedProject;
-
-			if (project == null || !project.exists() || !project.isOpen())
-				return error;
-	
-			// make sure we're not embedding in another server element
-			IResource temp = container;
-			while (temp != null && !(temp instanceof IProject)) {
-				if (temp instanceof IFile) {
-					IFile file = (IFile) temp;
-					if (ServerUIPlugin.findServer(file) != null)
-						return error;
-				}
-				temp = temp.getParent();
-			}
-		} catch (Exception e) {
-			return error;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns true if the user said okay to creating a new server
-	 * project.
-	 * 
-	 * @param shell a shell
-	 * @param projectName a project name
-	 * @return <code>true</code> if the user wants to create a server project
-	 */
-	public static boolean promptForServerProjectCreation(Shell shell, String projectName) {
-		String msg = NLS.bind(Messages.createServerProjectDialogMessage, projectName);
-		return MessageDialog.openQuestion(shell, Messages.createServerProjectDialogTitle, msg);
-	}
-	
-	/**
 	 * Handles default selection within a wizard by going to the next
 	 * page, or finishing the wizard if possible.
 	 * 
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
index 7bcf2d6..4c51759 100644
--- 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
@@ -42,7 +42,7 @@
 public abstract class WizardFragment {
 	private TaskModel taskModel;
 	private boolean isComplete = true;
-	private List listImpl;
+	private List<WizardFragment> listImpl;
 
 	/**
 	 * Returns <code>true</code> if this fragment has an associated UI,
@@ -161,7 +161,7 @@
 	 */
 	public List getChildFragments() {
 		if (listImpl == null) {
-			listImpl = new ArrayList();
+			listImpl = new ArrayList<WizardFragment>();
 			createChildFragments(listImpl);
 		}
 		return listImpl;
@@ -184,7 +184,7 @@
 	 * 
 	 * @param list a list to add the child fragments to
 	 */
-	protected void createChildFragments(List list) {
+	protected void createChildFragments(List<WizardFragment> list) {
 		// do nothing
 	}