This commit was manufactured by cvs2svn to create tag
'Root_R1_5_maintenance'.
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 63a2414..0000000
--- a/features/org.eclipse.jst.server_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_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 7d85428..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/feature.properties
+++ /dev/null
@@ -1,144 +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\
-March 17, 2005\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\
-\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 041444a..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/feature.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.server_sdk.feature"
-      label="%featureName"
-      version="1.5.0.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.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 2347060..0000000
--- a/features/org.eclipse.jst.server_sdk.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</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></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 7f47694..0000000
--- a/features/org.eclipse.jst.server_tests.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_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 053580a..0000000
--- a/features/org.eclipse.jst.server_tests.feature/feature.properties
+++ /dev/null
@@ -1,144 +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\
-March 17, 2005\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\
-\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 d4109d3..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="1.5.0.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 2347060..0000000
--- a/features/org.eclipse.jst.server_tests.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</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></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_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 a5a945c..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/feature.properties
+++ /dev/null
@@ -1,144 +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\
-March 17, 2005\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\
-\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 81c1ff6..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="1.5.0.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 2347060..0000000
--- a/features/org.eclipse.jst.server_userdoc.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</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></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_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 9eae65d..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-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 fc98527..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/feature.properties
+++ /dev/null
@@ -1,144 +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\
-March 17, 2005\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\
-\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 c7661a4..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/feature.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.server_sdk.feature"
-      label="%featureName"
-      version="1.5.0.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.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 2347060..0000000
--- a/features/org.eclipse.wst.server_sdk.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</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></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 7f47694..0000000
--- a/features/org.eclipse.wst.server_tests.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_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 b071e23..0000000
--- a/features/org.eclipse.wst.server_tests.feature/feature.properties
+++ /dev/null
@@ -1,144 +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\
-March 17, 2005\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\
-\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 ee9ebee..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="1.5.0.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 feature="org.eclipse.wst.server_core.feature"/>
-      <import feature="org.eclipse.wst.server_ui.feature"/>
-   </requires>
-
-   <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"/>
-
-</feature>
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 2347060..0000000
--- a/features/org.eclipse.wst.server_tests.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</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></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_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 fd7bc01..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/feature.properties
+++ /dev/null
@@ -1,144 +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\
-March 17, 2005\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\
-\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 78f33e4..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="1.5.0.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 2347060..0000000
--- a/features/org.eclipse.wst.server_userdoc.feature/license.html
+++ /dev/null
@@ -1,93 +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>January 28, 2005</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></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/.options b/plugins/org.eclipse.jst.server.core/.options
index 7da2b54..c0ef0b3 100644
--- a/plugins/org.eclipse.jst.server.core/.options
+++ b/plugins/org.eclipse.jst.server.core/.options
@@ -2,3 +2,6 @@
 
 # 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/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
index 21ed804..83aef14 100644
--- a/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.core/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.core; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.104.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,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
+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,1.2.0)",
  org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)"
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.server.core/plugin.xml b/plugins/org.eclipse.jst.server.core/plugin.xml
index f8e59fe..cf23753 100644
--- a/plugins/org.eclipse.jst.server.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.core/plugin.xml
@@ -5,6 +5,7 @@
   <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
diff --git a/plugins/org.eclipse.jst.server.core/schema/internalRuntimeComponentProviders.exsd b/plugins/org.eclipse.jst.server.core/schema/internalRuntimeComponentProviders.exsd
new file mode 100644
index 0000000..bacc5c9
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.core/schema/internalRuntimeComponentProviders.exsd
@@ -0,0 +1,138 @@
+<?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>
+         <sequence>
+         </sequence>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  specifies a unique identifier for this extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="runtimeTypeIds" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a comma separated list of runtime type ids that this 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/sjavacore/org/eclipse/jst/server/core/FacetUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/FacetUtil.java
index 9d5b3b9..5e21fe8 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/FacetUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/FacetUtil.java
@@ -104,6 +104,9 @@
 		
 		org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime2 = getRuntime(runtime);
 		
+		if (runtime2 == null) // bug 150194 - what do we do if the facet runtime doesn't exist yet
+			return Status.OK_STATUS;
+		
 		try {
 			IFacetedProject facetedProject = ProjectFacetsManager.create(project);
 			Iterator iterator = facetedProject.getProjectFacets().iterator();
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java
index dd9fcd1..c3fc24e 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/IJ2EEModule.java
@@ -24,14 +24,16 @@
  */
 public interface IJ2EEModule {
 	/**
-	 * Returns the root folders for the resources in this module.
+	 * 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 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
 	 */
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
index 24765a8..c11087f 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/PublishUtil.java
@@ -11,9 +11,12 @@
 package org.eclipse.jst.server.core;
 
 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.*;
@@ -39,11 +42,17 @@
  */
 public class PublishUtil {
 	// size of the buffer
-	private static final int BUFFER = 10240;
+	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 = JavaServerPlugin.getInstance().getStateLocation().toFile();
+	
+	private static final String TEMPFILE_PREFIX = "tmp";
+
 	/**
 	 * FileUtil cannot be created. Use static methods.
 	 */
@@ -64,7 +73,7 @@
 		
 		try {
 			out = new FileOutputStream(to);
-	
+			
 			int avail = in.read(buf);
 			while (avail > 0) {
 				out.write(buf, 0, avail);
@@ -91,8 +100,78 @@
 	}
 
 	/**
+	 * 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]);
+	}
+
+	/**
 	 * 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
@@ -104,8 +183,7 @@
 		File tempFile = null;
 		try {
 			File file = to.toFile();
-			File tempDir = JavaServerPlugin.getInstance().getStateLocation().toFile();
-			tempFile = File.createTempFile("tmp", "." + to.getFileExtension(), tempDir);
+			tempFile = File.createTempFile(TEMPFILE_PREFIX, "." + to.getFileExtension(), tempDir);
 			
 			out = new FileOutputStream(tempFile);
 			
@@ -122,6 +200,8 @@
 			
 			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);
@@ -144,110 +224,164 @@
 		}
 	}
 
-	private static void copyFile(IModuleFile mf, IPath path) throws CoreException {
-		Trace.trace(Trace.PUBLISHING, "Publishing: " + 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, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorReading, file2.getAbsolutePath()), e));
-			}
-			copyFile(in, path, file2.lastModified(), mf);
-		}
-	}
-
 	/**
-	 * Recursively deletes a directory.
+	 * Utility method to recursively delete a directory.
 	 *
-	 * @param dir java.io.File
-	 * @param monitor a progress monitor, or <code>null</code>
+	 * @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 void deleteDirectory(File dir, IProgressMonitor monitor) {
+	public static IStatus[] deleteDirectory(File dir, IProgressMonitor monitor) {
+		if (!dir.exists() || !dir.isDirectory())
+			return new IStatus[] { new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorNotADirectory, dir.getAbsolutePath()), null) };
+		
+		List status = new ArrayList(2);
+		
 		try {
-			if (!dir.exists() || !dir.isDirectory())
-				return;
-	
 			File[] files = dir.listFiles();
 			int size = files.length;
 			monitor = ProgressUtil.getMonitorFor(monitor);
 			monitor.beginTask(NLS.bind(Messages.deletingTask, new String[] { dir.getAbsolutePath() }), size * 10);
-	
+			
 			// cycle through files
+			boolean deleteCurrent = true;
 			for (int i = 0; i < size; i++) {
 				File current = files[i];
 				if (current.isFile()) {
-					current.delete();
+					if (!current.delete()) {
+						status.add(new Status(IStatus.ERROR, JavaServerPlugin.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()}));
-					deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10));
+					IStatus[] stat = deleteDirectory(current, ProgressUtil.getSubMonitorFor(monitor, 10));
+					if (stat != null && stat.length > 0) {
+						deleteCurrent = false;
+						addArrayToList(status, stat);
+					}
 				}
 			}
-			dir.delete();
+			if (deleteCurrent && !dir.delete())
+				status.add(new Status(IStatus.ERROR, JavaServerPlugin.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, JavaServerPlugin.PLUGIN_ID, 0, e.getLocalizedMessage(), null));
 		}
+		
+		IStatus[] stat = new IStatus[status.size()];
+		status.toArray(stat);
+		return stat;
 	}
-	
-	public static void smartCopy(IModuleResource[] resources, IPath path, IProgressMonitor monitor) throws CoreException {
+
+	/**
+	 * 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) {
 		if (resources == null)
-			return;
+			return EMPTY_STATUS;
 		
+		monitor = ProgressUtil.getMonitorFor(monitor);
+		
+		List status = new ArrayList(2);
 		File toDir = path.toFile();
-		File[] toFiles = toDir.listFiles();
 		int fromSize = resources.length;
+		String[] fromFileNames = new String[fromSize];
+		for (int i = 0; i < fromSize; i++)
+			fromFileNames[i] = resources[i].getName();
 		
-		if (toDir.exists() && toDir.isDirectory()) {
-			int toSize = toFiles.length;
-			// check if this exact file exists in the new directory
-			for (int i = 0; i < toSize; i++) {
-				String name = toFiles[i].getName();
-				boolean isDir = toFiles[i].isDirectory();
-				boolean found = false;
-				for (int j = 0; j < fromSize; j++) {
-					if (name.equals(resources[j].getName()) && isDir == resources[j] instanceof IModuleFolder)
-						found = true;
+		//	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, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, toFiles[i].getAbsolutePath()), null));
+						}
+						toFiles[i] = null;
+						toFileNames[i] = null;
+					}
 				}
-	
-				// delete file if it can't be found or isn't the correct type
-				if (!found) {
-					if (isDir)
-						deleteDirectory(toFiles[i], null);
-					else
-						toFiles[i].delete();
+			} else { //if (toDir.isFile())
+				if (!toDir.delete()) {
+					status.add(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, toDir.getAbsolutePath()), null));
+					IStatus[] stat = new IStatus[status.size()];
+					status.toArray(stat);
+					return stat;
 				}
-				if (monitor.isCanceled())
-					return;
 			}
-		} else {
-			if (toDir.isFile())
-				toDir.delete();
-			toDir.mkdir();
 		}
-			
+		if (!foundExistingDir && !toDir.mkdir()) {
+			status.add(new Status(IStatus.ERROR, JavaServerPlugin.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
-		toFiles = toDir.listFiles();
+		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 = current.getName();
+			String name = fromFileNames[i];
 			boolean currentIsDir = current instanceof IModuleFolder;
-			IPath toPath = path.append(name);
 			
 			if (!currentIsDir) {
 				// check if this is a new or newer file
@@ -264,69 +398,144 @@
 				}
 				
 				for (int j = 0; j < toSize; j++) {
-					if (name.equals(toFiles[j].getName()) && mod == toFiles[j].lastModified())
+					if (name.equals(toFileNames[j]) && mod == toFileMod[j])
 						copy = false;
 				}
 				
-				if (copy)
-					copyFile(mf, toPath);
+				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[] {resources[i].getName(), current.getName()}));
-				smartCopy(children, toPath, ProgressUtil.getSubMonitorFor(monitor, dw));
+				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;
 		}
+		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;
 	}
 
-	public static void handleDelta(int kind, IPath path, IModuleResourceDelta delta) throws CoreException {
+	/**
+	 * 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) {
+		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;
+	}
+
+	/**
+	 * 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) {
+		List status = new ArrayList(2);
+		
 		IModuleResource resource = delta.getModuleResource();
 		int kind2 = delta.getKind();
 		
 		if (resource instanceof IModuleFile) {
 			IModuleFile file = (IModuleFile) resource;
-			if (kind2 == IModuleResourceDelta.REMOVED)
-				deleteFile(path, file);
-			else
-				copyFile2(file, path);
-			return;
+			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());
-			path2.toFile().mkdirs();
-		} else if (kind == IModuleResourceDelta.REMOVED) {
-			IPath path2 = path.append(resource.getModuleRelativePath()).append(resource.getName());
-			path2.toFile().delete();
+			File file = path2.toFile();
+			if (!file.exists() && !file.mkdirs()) {
+				status.add(new Status(IStatus.ERROR, JavaServerPlugin.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++) {
-			handleDelta(kind, path, childDeltas[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, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, path2), null));
+			}
+		}
+		
+		IStatus[] stat = new IStatus[status.size()];
+		status.toArray(stat);
+		return stat;
 	}
 
-	protected static void deleteFile(IPath path, IModuleFile file) {
+	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());
-		path2.toFile().delete();
+		if (path2.toFile().exists() && !path2.toFile().delete())
+			throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, path2), null));
 	}
 
-	private static void copyFile2(IModuleFile mf, IPath path) throws CoreException {
-		Trace.trace(Trace.PUBLISHING, "Publishing: " + mf.getName() + " to " + path.toString());
-		IPath path3 = path.append(mf.getModuleRelativePath()).append(mf.getName());
-		File f = path3.toFile().getParentFile();
-		if (!f.exists())
-			f.mkdirs();
+	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(), path3, file.getLocalTimeStamp(), mf);
+			copyFile(file.getContents(), path, file.getLocalTimeStamp(), mf);
 		else {
 			File file2 = (File) mf.getAdapter(File.class);
 			InputStream in = null;
@@ -335,69 +544,87 @@
 			} catch (IOException e) {
 				throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorReading, file2.getAbsolutePath()), e));
 			}
-			copyFile(in, path3, file2.lastModified(), mf);
+			copyFile(in, path, file2.lastModified(), mf);
 		}
 	}
 
-	public static void copy(IModuleResource[] resources, IPath path) throws CoreException {
+	/**
+	 * 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) {
 		if (resources == null)
-			return;
+			return EMPTY_STATUS;
 		
+		monitor = ProgressUtil.getMonitorFor(monitor);
+		
+		List status = new ArrayList(2);
 		int size = resources.length;
 		for (int i = 0; i < size; i++) {
-			copy(resources[i], path);
+			IStatus[] stat = copy(resources[i], path, monitor);
+			addArrayToList(status, stat);
 		}
+		
+		IStatus[] stat = new IStatus[status.size()];
+		status.toArray(stat);
+		return stat;
 	}
 
-	private static void copy(IModuleResource resource, IPath path) throws CoreException {
-		Trace.trace(Trace.PUBLISHING, "Publishing: " + resource.getName() + " to " + path.toString());
+	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;
-			copy(folder.members(), path);
+			IStatus[] stat = publishFull(folder.members(), path, monitor);
+			addArrayToList(status, stat);
 		} else {
 			IModuleFile mf = (IModuleFile) resource;
-			IPath path3 = path.append(mf.getModuleRelativePath()).append(mf.getName());
-			File f = path3.toFile().getParentFile();
+			path = path.append(mf.getModuleRelativePath()).append(name);
+			File f = path.toFile().getParentFile();
 			if (!f.exists())
 				f.mkdirs();
-			IFile file = (IFile) mf.getAdapter(IFile.class);
-			if (file != null)
-				copyFile(file.getContents(), path3, 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, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorReading, file2.getAbsolutePath()), e));
-				}
-				copyFile(in, path3, file2.lastModified(), mf);
+			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
-	 * @param zipPath
-	 * @throws CoreException
+	 * @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 void createZipFile(IModuleResource[] resources, IPath zipPath) throws CoreException {
+	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 = zipPath.toFile();
+			File file = path.toFile();
 			if (file.exists())
 				file.delete();
-			return;
+			return EMPTY_STATUS;
 		}
 		
+		monitor = ProgressUtil.getMonitorFor(monitor);
+		
 		File tempFile = null;
 		try {
-			File file = zipPath.toFile();
-			File tempDir = JavaServerPlugin.getInstance().getStateLocation().toFile();
-			tempFile = File.createTempFile("tmp", "." + zipPath.getFileExtension(), tempDir);
+			File file = path.toFile();
+			tempFile = File.createTempFile(TEMPFILE_PREFIX, "." + path.getFileExtension(), tempDir);
 			
 			BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(tempFile));
 			ZipOutputStream zout = new ZipOutputStream(bout);
@@ -405,21 +632,46 @@
 			zout.close();
 			
 			moveTempFile(tempFile, file);
+		} catch (CoreException e) {
+			return new IStatus[] { e.getStatus() };
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error zipping", e);
-			throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorCreatingZipFile, zipPath.lastSegment(), e.getLocalizedMessage()), e));
+			return new Status[] { new Status(IStatus.ERROR, JavaServerPlugin.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;
 			}
@@ -467,17 +719,35 @@
 	 *  
 	 * @param tempFile
 	 * @param file
-	 * @throws Exception
+	 * @throws CoreException
 	 */
-	private static void moveTempFile(File tempFile, File file) throws Exception {
+	private static void moveTempFile(File tempFile, File file) throws CoreException {
 		if (file.exists()) {
-			if (!safeDelete(file)) {
-				tempFile.delete();
-				throw new Exception(NLS.bind(Messages.errorDelete, file.toString()));
+			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(JavaServerPlugin.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, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorDeleting, file.toString()), null));
+				}*/
 			}
 		}
-		if (!safeRename(tempFile, file))
-			throw new Exception(NLS.bind(Messages.errorRename, tempFile.toString()));
+		if (!safeRename(tempFile, file, 10))
+			throw new CoreException(new Status(IStatus.ERROR, JavaServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorRename, tempFile.toString()), null));
 	}
 
 	/**
@@ -486,9 +756,9 @@
 	 * @param f
 	 * @return <code>true</code> if it succeeds, <code>false</code> otherwise
 	 */
-	private static boolean safeDelete(File f) {
+	private static boolean safeDelete(File f, int retrys) {
 		int count = 0;
-		while (count < 10) {
+		while (count < retrys) {
 			if (!f.exists())
 				return true;
 			
@@ -497,12 +767,15 @@
 			if (!f.exists())
 				return true;
 			
-			try {
-				Thread.sleep(100);
-			} catch (Exception e) {
-				// ignore
-			}
 			count++;
+			// delay if we are going to try again
+			if (count < retrys) {
+				try {
+					Thread.sleep(100);
+				} catch (Exception e) {
+					// ignore
+				}
+			}
 		}
 		return false;
 	}
@@ -512,24 +785,39 @@
 	 * 
 	 * @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) {
-		if (!from.exists())
-			return false;
+	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 < 10) {
+		while (count < retrys) {
 			if (from.renameTo(to))
 				return true;
 			
-			try {
-				Thread.sleep(100);
-			} catch (Exception e) {
-				// ignore
-			}
 			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]);
+	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
index 784bee0..474db92 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/RuntimeClasspathProviderDelegate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -17,6 +17,7 @@
 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.Path;
 import org.eclipse.jdt.core.IAccessRule;
@@ -46,7 +47,7 @@
  * @plannedfor 2.0
  */
 public abstract class RuntimeClasspathProviderDelegate {
-	private class SourceAttachmentUpdate {
+	protected class SourceAttachmentUpdate {
 		String runtimeId;
 		IPath entry;
 		IPath sourceAttachmentPath;
@@ -77,18 +78,6 @@
 	}
 
 	/**
-	 * 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
-	 * @return a classpath container label
-	 */
-	public String getClasspathContainerLabel(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
@@ -97,51 +86,25 @@
 	 * @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;
 	}
 
 	/**
-	 * 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
-	 * @deprecated should use the equivalent method without the unused id variable
-	 */
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		return getClasspathContainerLabel(runtime);
-	}
-
-	/**
 	 * 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
-	 * @param id the classpath entry id
 	 * @return an array of classpath entries for the container, or null if the
 	 *   container could not be resolved
-	 * @deprecated should use the equivalent method without the unused id variable
 	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) {
-		return resolveClasspathContainer(runtime);
-	}
-
-	/**
-	 * Resolve the classpath container.
-	 * 
-	 * @param runtime a runtime
-	 * @param id a container id
-	 * @return a possibly empty array of classpath entries
-	 * @deprecated should use the equivalent method without the unused id variable
-	 */
-	public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime, String id) {
-		return resolveClasspathContainerImpl(runtime);
+	public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
+		return null;
 	}
 
 	/**
@@ -149,12 +112,26 @@
 	 * 
 	 * @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(runtime, "");
+		IClasspathEntry[] entries = resolveClasspathContainer(project, runtime);
+		if (entries == null)
+			entries = resolveClasspathContainer(runtime);
 		
 		if (entries == null)
 			entries = new IClasspathEntry[0];
@@ -241,19 +218,6 @@
 	 * with the given classpath container entries.
 	 * 
 	 * @param runtime a runtime
-	 * @param id an id
-	 * @param entries an array of classpath entries
-	 * @deprecated should use the equivalent method without the unused id variable
-	 */
-	public void requestClasspathContainerUpdate(IRuntime runtime, String id, IClasspathEntry[] entries) {
-		requestClasspathContainerUpdate(runtime, entries);
-	}
-
-	/**
-	 * 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) {
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
index 3a365ff..d041b18 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntime.java
@@ -89,14 +89,6 @@
 	}
 
 	/**
-	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
-	 */
-	public void setDefaults(IProgressMonitor monitor) {
-		IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-		setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-	}
-
-	/**
 	 * @see IGenericRuntimeWorkingCopy#setVMInstall(IVMInstall)
 	 */
 	public void setVMInstall(IVMInstall vmInstall) {
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
index 6310eca..c8f5cf9 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/GenericRuntimeClasspathProvider.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -13,6 +13,7 @@
 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;
@@ -22,17 +23,10 @@
  * 
  */
 public class GenericRuntimeClasspathProvider extends RuntimeClasspathProviderDelegate {
-	/**
-	 * @see RuntimeClasspathProviderDelegate#getClasspathContainerLabel(IRuntime, String)
-	 */
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		return runtime.getRuntimeType().getName();
-	}
-
 	/** (non-Javadoc)
-	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IRuntime, String)
+	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IProject, IRuntime)
 	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime, String id) {
+	public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
 		IPath installPath = runtime.getLocation();
 		
 		if (installPath == null)
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
index 7c7fa05..22b76d6 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/JavaServerPlugin.java
@@ -45,6 +45,9 @@
 	//	cached copy of all runtime classpath providers
 	private static List runtimeClasspathProviders;
 
+	//	cached copy of all runtime component providers
+	private static List runtimeComponentProviders;
+
 	//	cached copy of all runtime facet mappings
 	private static List runtimeFacetMappings;
 
@@ -83,15 +86,15 @@
 		
 		runtimeListener = new IRuntimeLifecycleListener() {
 			public void runtimeAdded(IRuntime runtime) {
-				handleRuntimeChange(runtime);
+				handleRuntimeChange(runtime, 0);
 			}
 
 			public void runtimeChanged(IRuntime runtime) {
-				handleRuntimeChange(runtime);
+				handleRuntimeChange(runtime, 1);
 			}
 
 			public void runtimeRemoved(IRuntime runtime) {
-				handleRuntimeChange(runtime);
+				handleRuntimeChange(runtime, 2);
 			}
 		};
 		
@@ -110,15 +113,25 @@
 	 * Handle a runtime change by potentially updating the classpath container.
 	 * 
 	 * @param runtime a runtime
+	 * @deprecated should not be called directly, will be removed
 	 */
-	protected void handleRuntimeChange(final IRuntime runtime) {
+	protected void handleRuntimeChange(IRuntime runtime) {
+		handleRuntimeChange(runtime, 1);
+	}
+
+	/**
+	 * 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);
 		
 		final RuntimeClasspathProviderWrapper rcpw = findRuntimeClasspathProvider(runtime.getRuntimeType());
-		if (rcpw != null && rcpw.hasRuntimeClasspathChanged(runtime)) {
+		if (rcpw != null && (rcpw.hasRuntimeClasspathChanged(runtime) || act != 1)) {
 			final IPath serverContainerPath = new Path(RuntimeClasspathContainer.SERVER_CONTAINER)
 				.append(rcpw.getId()).append(runtime.getId());
 			
@@ -138,7 +151,10 @@
 						for (int i = 0; i < size; i++) {
 							if (projects[i].isAccessible()) {
 								try {
-									IJavaProject javaProject = JavaCore.create(projects[i]);
+									if (!projects[i].isNatureEnabled(JavaCore.NATURE_ID))
+										continue;
+									
+									IJavaProject javaProject = JavaCore.create(projects[i]); // TODO is java project?
 									
 									boolean found = false;
 									IClasspathEntry[] ce = javaProject.getRawClasspath();
@@ -152,8 +168,11 @@
 									Trace.trace(Trace.FINEST, "Classpath change on: " + projects[i] + " " + found);
 									
 									if (found) {
-										RuntimeClasspathContainer container = new RuntimeClasspathContainer(
-												serverContainerPath, rcpw, runtime);
+										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);
 									}
@@ -306,6 +325,57 @@
 	}
 
 	/**
+	 * Returns the runtime component provider that supports the given runtime type, or <code>null</code>
+	 * if none. This convenience method searches the list of known runtime
+	 * component providers for the one with a matching runtime type.
+	 * The runtimeType may not be null.
+	 *
+	 * @param runtimeType a runtime type
+	 * @return the runtime component provider instance, or <code>null</code> if
+	 *   there is no runtime component provider with the given id
+	 */
+	public static RuntimeComponentProviderWrapper findRuntimeComponentProvider(IRuntimeType runtimeType) {
+		if (runtimeType == null)
+			throw new IllegalArgumentException();
+
+		if (runtimeComponentProviders == null)
+			loadRuntimeComponentProviders();
+		
+		Iterator iterator = runtimeComponentProviders.iterator();
+		while (iterator.hasNext()) {
+			RuntimeComponentProviderWrapper runtimeComponentProvider = (RuntimeComponentProviderWrapper) iterator.next();
+			if (runtimeComponentProvider.supportsRuntimeType(runtimeType))
+				return runtimeComponentProvider;
+		}
+		return null;
+	}
+
+	/**
+	 * Load the runtime component providers.
+	 */
+	private static synchronized void loadRuntimeComponentProviders() {
+		if (runtimeComponentProviders != null)
+			return;
+		Trace.trace(Trace.CONFIG, "->- Loading .runtimeComponentProviders extension point ->-");
+		IExtensionRegistry registry = Platform.getExtensionRegistry();
+		IConfigurationElement[] cf = registry.getConfigurationElementsFor(JavaServerPlugin.PLUGIN_ID, "internalRuntimeComponentProviders");
+		
+		int size = cf.length;
+		List list = new ArrayList(size);
+		for (int i = 0; i < size; i++) {
+			try {
+				list.add(new RuntimeComponentProviderWrapper(cf[i]));
+				Trace.trace(Trace.CONFIG, "  Loaded runtimeComponentProviders: " + cf[i].getAttribute("id"));
+			} catch (Throwable t) {
+				Trace.trace(Trace.SEVERE, "  Could not load runtimeComponentProvider: " + cf[i].getAttribute("id"), t);
+			}
+		}
+		runtimeComponentProviders = list;
+		
+		Trace.trace(Trace.CONFIG, "-<- Done loading .runtimeComponentProviders extension point -<-");
+	}
+
+	/**
 	 * Load the runtime facet mappings.
 	 */
 	private static synchronized void loadRuntimeFacetMapping() {
@@ -320,7 +390,7 @@
 		for (int i = 0; i < size; i++) {
 			try {
 				list.add(new RuntimeFacetMapping(cf[i]));
-				Trace.trace(Trace.CONFIG, "  Loaded runtimeFacetMapping: " + cf[i].getAttribute("id"));
+				Trace.trace(Trace.CONFIG, "  Loaded runtimeFacetMapping: " + cf[i].getAttribute("runtimeTypeId"));
 			} catch (Throwable t) {
 				Trace.trace(Trace.SEVERE, "  Could not load runtimeFacetMapping: " + cf[i].getAttribute("id"), t);
 			}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java
index 626a862..ad24995 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.java
@@ -18,7 +18,9 @@
 	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;
@@ -29,7 +31,10 @@
 	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(JavaServerPlugin.PLUGIN_ID + ".internal.Messages", Messages.class);
 	}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties
index 3a101d2..97f0fe5 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/Messages.properties
@@ -9,7 +9,9 @@
 #     IBM Corporation - initial API and implementation
 ###############################################################################
 
-classpathContainerDescription=Server Classpath Container
+classpathContainerDescription=Server Library
+classpathContainer={0} [{1}]
+classpathContainerUnbound={0} [{1}] (unbound)
 
 errorLocation=Invalid location.
 errorJRE=Invalid JRE.
@@ -23,5 +25,8 @@
 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.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
index 2118e60..336ee89 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeBridge.java
@@ -1,5 +1,6 @@
 /******************************************************************************
  * Copyright (c) 2005 BEA Systems, Inc.
+ * 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
@@ -11,6 +12,7 @@
  ******************************************************************************/
 package org.eclipse.jst.server.core.internal;
 
+import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -177,20 +179,24 @@
 					rcv = RuntimeManager.getRuntimeComponentType("standard.jre").getVersion("6.0");
 				}
 				
-				if (vmInstall != null) {
-					properties = new HashMap(3);
+				properties = new HashMap(3);
+				if (vmInstallName != null)
 					properties.put("name", vmInstallName);
-					IPath path = new Path(JavaRuntime.JRE_CONTAINER);
-					path = path.append(vmInstall.getVMInstallType().getId()).append(vmInstallName);
-					properties.put(CLASSPATH, path.toPortableString());
-					components.add(RuntimeManager.createRuntimeComponent(rcv, properties));
-				} else {
-					properties = new HashMap(3);
+				else
 					properties.put("name", "-");
-					IPath path = new Path(JavaRuntime.JRE_CONTAINER);
-					properties.put(CLASSPATH, path.toPortableString());
-					components.add(RuntimeManager.createRuntimeComponent(rcv, properties));
-				}
+				
+				if (vmInstall == null || isUsingDefaultJRE(javaRuntime))
+					properties.put(CLASSPATH, new Path(JavaRuntime.JRE_CONTAINER).toPortableString());
+				else
+					properties.put(CLASSPATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
+				components.add(RuntimeManager.createRuntimeComponent(rcv, properties));
+			}
+			
+			RuntimeComponentProviderWrapper componentProvider = JavaServerPlugin.findRuntimeComponentProvider(runtime.getRuntimeType());
+			if (componentProvider != null) {
+				List list = componentProvider.getComponents(runtime);
+				if (list != null)
+					components.addAll(list);
 			}
 			
 			return components;
@@ -202,4 +208,16 @@
 			return Collections.singletonMap("id", runtime.getId());
 		}
 	}
+
+	protected static boolean isUsingDefaultJRE(IJavaRuntime javaRuntime) {
+		try {
+			Method m = javaRuntime.getClass().getMethod("isUsingDefaultJRE", null);
+			Object o = m.invoke(javaRuntime, null);
+			Boolean b = (Boolean) o;
+			return b.booleanValue();
+		} catch (Throwable t) {
+			// ignore - method not found
+		}
+		return false;
+	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
index a429a52..d7b18f4 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -10,11 +10,14 @@
  *******************************************************************************/
 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;
 /**
  * 
  */
@@ -27,6 +30,8 @@
 	private IPath path;
 	private RuntimeClasspathProviderWrapper delegate;
 	private IRuntime runtime;
+	private String runtimeId;
+	private IProject project;
 
 	/**
 	 * Create a new runtime classpath container.
@@ -34,10 +39,9 @@
 	 * @param path
 	 * @param delegate
 	 * @param runtime
-	 * @param id
-	 * @deprecated should use the equivalent method without the unused id variable
+	 * @deprecated should use the constructor that accepts a project
 	 */
-	public RuntimeClasspathContainer(IPath path, RuntimeClasspathProviderWrapper delegate, IRuntime runtime, String id) {
+	public RuntimeClasspathContainer(IPath path, RuntimeClasspathProviderWrapper delegate, IRuntime runtime) {
 		this.path = path;
 		this.delegate = delegate;
 		this.runtime = runtime;
@@ -46,14 +50,18 @@
 	/**
 	 * Create a new runtime classpath container.
 	 * 
+	 * @param project
 	 * @param path
 	 * @param delegate
 	 * @param runtime
+	 * @param runtimeId
 	 */
-	public RuntimeClasspathContainer(IPath path, RuntimeClasspathProviderWrapper delegate, IRuntime runtime) {
+	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)
@@ -62,7 +70,7 @@
 	public IClasspathEntry[] getClasspathEntries() {
 		IClasspathEntry[] entries = null;
 		if (delegate != null && runtime != null)
-			entries = delegate.resolveClasspathContainerImpl(runtime);
+			entries = delegate.resolveClasspathContainerImpl(project, runtime);
 		
 		if (entries == null)
 			return new IClasspathEntry[0];
@@ -74,13 +82,14 @@
 	 * @see org.eclipse.jdt.core.IClasspathContainer#getDescription()
 	 */
 	public String getDescription() {
-		if (runtime != null && delegate != null) {
-			String s = delegate.getClasspathContainerLabel(runtime);
-			if (s != null)
-				return s;
+		if (runtime != null) {
+			if (runtime != null) {
+				IRuntimeType runtimeType = runtime.getRuntimeType();
+				if (runtimeType != null)
+					return NLS.bind(Messages.classpathContainer, runtimeType.getName(), runtime.getName());
+			}
 		}
-		
-		return Messages.classpathContainerDescription;
+		return NLS.bind(Messages.classpathContainerUnbound, Messages.classpathContainerDescription, runtimeId);
 	}
 
 	/** (non-Javadoc)
@@ -96,4 +105,33 @@
 	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/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
index bd59163..5b15855 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathContainerInitializer.java
@@ -27,14 +27,15 @@
 			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));
 					
-					String runtimeId = containerPath.segment(2);
+					runtimeId = containerPath.segment(2);
 					if (runtimeId != null)
 						runtime = ServerCore.findRuntime(runtimeId);
 				}
-				RuntimeClasspathContainer container = new RuntimeClasspathContainer(containerPath, delegate, runtime);
+				RuntimeClasspathContainer container = new RuntimeClasspathContainer(project.getProject(), containerPath, delegate, runtime, runtimeId);
 				JavaCore.setClasspathContainer(containerPath, new IJavaProject[] {project}, new IClasspathContainer[] {container}, null);
 			}
 		}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
index 94c7ccd..d607002 100644
--- a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeClasspathProviderWrapper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
+ * 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
@@ -14,6 +14,7 @@
 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;
@@ -125,13 +126,13 @@
 	}
 
 	/*
-	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainerImpl(IRuntime)
+	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainerImpl(IProject, IRuntime)
 	 */
-	public IClasspathEntry[] resolveClasspathContainerImpl(IRuntime runtime) {
+	public IClasspathEntry[] resolveClasspathContainerImpl(IProject project, IRuntime runtime) {
 		if (runtime == null)
 			return null;
 		try {
-			return getDelegate().resolveClasspathContainerImpl(runtime, "");
+			return getDelegate().resolveClasspathContainerImpl(project, runtime);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
@@ -139,27 +140,13 @@
 	}
 
 	/*
-	 * @see RuntimeClasspathProviderDelegate#getClasspathContainerLabel(IRuntime)
-	 */
-	public String getClasspathContainerLabel(IRuntime runtime) {
-		if (runtime == null)
-			return "n/a";
-		try {
-			return getDelegate().getClasspathContainerLabel(runtime, "");
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
-		}
-		return "n/a";
-	}
-
-	/*
 	 * @see RuntimeClasspathProviderDelegate#requestClasspathContainerUpdate(IRuntime, IClasspathEntry[])
 	 */
 	public void requestClasspathContainerUpdate(IRuntime runtime, IClasspathEntry[] entries) {
 		if (runtime == null)
 			return;
 		try {
-			getDelegate().requestClasspathContainerUpdate(runtime, "", entries);
+			getDelegate().requestClasspathContainerUpdate(runtime, entries);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error calling delegate " + toString() + ": " + e.getMessage());
 		}
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
new file mode 100644
index 0000000..e5185f5
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderDelegate.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * 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.List;
+
+import org.eclipse.wst.server.core.IRuntime;
+/**
+ * A runtime component provider can provide additional runtime components for a facet runtime.
+ * This provider is scoped by runtime type and may provide components for multiple
+ * runtime instances.
+ * <p>
+ * This abstract class is intended to be extended only by clients
+ * to extend the <code>internalRuntimeComponentProviders</code> extension point.
+ * </p>
+ * <p>
+ * <b>Provisional API:</b> This class/interface is part of an interim API that is still under development and expected to 
+ * change significantly before reaching stability. It is being made available at this early stage to solicit feedback 
+ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken 
+ * (repeatedly) as the API evolves.
+ * </p>
+ * 
+ * @plannedfor 2.0
+ */
+public abstract class RuntimeComponentProviderDelegate {
+	public RuntimeComponentProviderDelegate() {
+		// default constructor
+	}
+
+	/**
+	 * Add runtime components to the given runtime. Components should be created by calling
+	 * RuntimeManager.createRuntimeComponent(IRuntimeComponentVersion, Map)
+	 * 
+	 * @param runtime a server runtime
+	 * @return a list of runtimes, or an empty list or null if there are no additional components
+	 */
+	public abstract List getRuntimeComponents(IRuntime runtime);
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
new file mode 100644
index 0000000..fd74dcc
--- /dev/null
+++ b/plugins/org.eclipse.jst.server.core/sjavacore/org/eclipse/jst/server/core/internal/RuntimeComponentProviderWrapper.java
@@ -0,0 +1,128 @@
+/*******************************************************************************
+ * 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 RuntimeComponentProviderDelegate#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.generic.core/.classpath b/plugins/org.eclipse.jst.server.generic.core/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.core/.cvsignore b/plugins/org.eclipse.jst.server.generic.core/.cvsignore
deleted file mode 100644
index 122465d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.cvsignore
+++ /dev/null
@@ -1,9 +0,0 @@
-bin
-build.xml
-genericserver.jar
-org.eclipse.jst.server.generic.core_1.0.0.jar
-temp.folder
-*.settings
-genericserversrc.zip
-@dot
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.generic.core/.options b/plugins/org.eclipse.jst.server.generic.core/.options
deleted file mode 100644
index c6e77ac..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.options
+++ /dev/null
@@ -1,4 +0,0 @@
-# Debugging options for the org.eclipse.jst.server.tomcat.core plugin
-
-# Turn on general debugging
-org.eclipse.jst.server.generic.core/debug=true
diff --git a/plugins/org.eclipse.jst.server.generic.core/.project b/plugins/org.eclipse.jst.server.generic.core/.project
deleted file mode 100644
index fe7ee06..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 72f84ef..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.generic.core; singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.jst.server.generic.core.internal.CorePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.generic.core.internal;x-internal:=true,
- org.eclipse.jst.server.generic.core.internal.publishers;x-internal:=true,
- org.eclipse.jst.server.generic.internal.core.util;x-internal:=true,
- org.eclipse.jst.server.generic.internal.servertype.definition;x-internal:=true,
- org.eclipse.jst.server.generic.internal.servertype.definition.impl;x-internal:=true,
- org.eclipse.jst.server.generic.internal.servertype.definition.util;x-internal:=true,
- org.eclipse.jst.server.generic.internal.xml;x-internal:=true,
- org.eclipse.jst.server.generic.servertype.definition
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.launching;visibility:="reexport";bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.ant.ui;resolution:="optional";bundle-version="[3.2.0,3.3.0)",
- org.eclipse.emf.common;visibility:="reexport";bundle-version="[2.2.0,2.3.0)",
- org.eclipse.emf.ecore;bundle-version="[2.2.0,2.3.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.3.0)",
- org.eclipse.ui.externaltools;resolution:="optional";bundle-version="[3.1.100,3.2.0)",
- org.apache.ant;bundle-version="[1.6.5,1.7.0)",
- org.eclipse.debug.ui;resolution:="optional";bundle-version="[3.2.0,3.3.0)"
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.server.generic.core/about.html b/plugins/org.eclipse.jst.server.generic.core/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.generic.core/build.properties b/plugins/org.eclipse.jst.server.generic.core/build.properties
deleted file mode 100644
index 5f3de99..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               xsd/ServerTypeDefinitionSchema.xsd,\
-               META-INF/,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html
-src.includes = xsd/,\
-               schema/,\
-               build.properties
diff --git a/plugins/org.eclipse.jst.server.generic.core/plugin.properties b/plugins/org.eclipse.jst.server.generic.core/plugin.properties
deleted file mode 100644
index d4fcff6..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName= Generic Server Plugin
-providerName=Eclipse.org
-pluginDescription=Provides generic server tools with easy to develop meta data configuration files
-
-externalLaunchConfigurationTypeName=Generic Server(External Launch)
-launchConfigurationTypeName=Generic Server
-extensionPointServerdefinition=Server definition
-extensionPointGenericpublisher=Generic Publisher
-# ====================================================================
-
diff --git a/plugins/org.eclipse.jst.server.generic.core/plugin.xml b/plugins/org.eclipse.jst.server.generic.core/plugin.xml
deleted file mode 100644
index 723f523..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/plugin.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
- <extension-point id="serverdefinition" name="%extensionPointServerdefinition" schema="schema/serverdefinition.exsd"/>
- <extension-point id="genericpublisher" name="%extensionPointGenericpublisher" schema="schema/genericpublisher.exsd"/>
-	
- <extension point="org.eclipse.debug.core.launchConfigurationTypes">
-     <launchConfigurationType
-        id="org.eclipse.jst.server.generic.core.launchConfigurationType"
-        name="%launchConfigurationTypeName"
-        delegate="org.eclipse.jst.server.generic.core.internal.GenericServerLaunchConfigurationDelegate"
-        modes="run, debug, profile"
-        sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
-        sourcePathComputerId="org.eclipse.jst.server.generic.core.sourcePathComputer"/>
-     <launchConfigurationType
-        id="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
-        name="%externalLaunchConfigurationTypeName"
-        delegate="org.eclipse.jst.server.generic.core.internal.ExternalLaunchConfigurationDelegate"
-        modes="run, debug"
-        sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector"
-        sourcePathComputerId="org.eclipse.jst.server.generic.core.sourcePathComputer"/>
- </extension>
-
- <extension point="org.eclipse.debug.core.sourcePathComputers">
-     <sourcePathComputer
-        id="org.eclipse.jst.server.generic.core.sourcePathComputer"
-        class="org.eclipse.jst.server.generic.core.internal.GenericServerSourcePathComputerDelegate"/>
- </extension>
- 
- <extension point="org.eclipse.wst.server.core.launchableAdapters">
-      <launchableAdapter
-         class="org.eclipse.jst.server.generic.core.internal.GenericServerLaunchableAdapterDelegate"
-         id="org.eclipse.jst.server.generic.web"/>
- </extension>
- 
- <extension point="org.eclipse.jst.server.generic.core.genericpublisher">
-      <genericpublisher
-            class="org.eclipse.jst.server.generic.core.internal.publishers.AntPublisher"
-            id="org.eclipse.jst.server.generic.antpublisher"/>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.core/schema/genericpublisher.exsd b/plugins/org.eclipse.jst.server.generic.core/schema/genericpublisher.exsd
deleted file mode 100644
index 810ac40..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/schema/genericpublisher.exsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.generic.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.generic.core" id="genericpublisher" name="Generic Publisher"/>
-      </appInfo>
-      <documentation>
-         Defines a publisher that can be used for publishing modules to servers for generic servers. 
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="genericpublisher"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="genericpublisher">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  The unique id that refers to this publisher
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  class that extends GenericPublisher
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.jst.server.generic.core.genericpublisher&quot;&gt;
-      &lt;genericpublisher
-            class=&quot;org.eclipse.jst.server.generic.core.internal.publishers.AntPublisher&quot;
-            id=&quot;org.eclipse.jst.server.generic.antpublisher&quot;/&gt;
- &lt;/extension&gt;
- &lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-          Value of the attribute class must be a fully qualified name of a Java class that extends org.eclipse.jst.server.generic.core.internal.GenericPublisher abstract class.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd b/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd
deleted file mode 100644
index 99331f8..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/schema/serverdefinition.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.server.generic.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.server.generic.core" id="serverdefinition" name="Server Definition"/>
-      </appInfo>
-      <documentation>
-         This extension point defines a new generic server definition file.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="serverdefinition" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="serverdefinition">
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  server id
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="definitionfile" type="string" use="required">
-            <annotation>
-               <documentation>
-                  location of the generic server definition file
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.jst.server.generic.core.serverdefinition&quot;&gt;
-		&lt;serverdefinition id=&quot;org.eclipse.jst.server.generic.runtime.jonas4&quot; definitionfile=&quot;/servers/jonas.serverdef&quot;&gt;
-		&lt;/serverdefinition&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/CorePlugin.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/CorePlugin.java
deleted file mode 100644
index f5cb0ef..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/CorePlugin.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author Gorkem Ercan
- */
-public class CorePlugin extends Plugin {
-
-
-	/**
-	 * Plug-in ID
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.jst.server.generic.core"; //$NON-NLS-1$
-
-	//The shared instance.
-	private static CorePlugin plugin;
-	private ServerTypeDefinitionManager fServerTypeDefinitionManager;
-	/**
-	 * The constructor.
-	 */
-	public CorePlugin() {
-		super();
-		plugin = this;
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 * @return genericServerCoreInstance
-	 */
-	public static CorePlugin getDefault() {
-		return plugin;
-	}
-
-
-	/**
-	 * Returns the server type definition manager instance
-	 * 
-	 * @return instance
-	 */
-	public ServerTypeDefinitionManager getServerTypeDefinitionManager()
-	{
-		if(fServerTypeDefinitionManager==null)
-			fServerTypeDefinitionManager = new ServerTypeDefinitionManager(getInstallUrl());
-		return fServerTypeDefinitionManager;
-	}
-	
-	private URL getInstallUrl()
-	{
-		try {
-			return FileLocator.resolve(this.getBundle().getEntry("/")); //$NON-NLS-1$
-		} catch (IOException e) {
-			return null;
-		}	
-	}
-	
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalLaunchConfigurationDelegate.java
deleted file mode 100644
index e9612da..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    rfrost@bea.com
- *    tyip@bea.com
- *    
- *    Based on GenericServerLaunchConfigurationDelegate by Gorkem Ercan
- *******************************************************************************/
-
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tools.ant.taskdefs.Execute;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.RuntimeProcess;
-import org.eclipse.jdt.internal.launching.JavaRemoteApplicationLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-
-/**
- * <p>Extension of <code>AbstractJavaLaunchConfigurationDelegate</code> that supports 
- * servers which are started/stopped via external executables (e.g. scripts).</p>
- * 
- * <p>Note: <code>AbstractJavaLaunchConfigurationDelegate</code> is extended simply to take advantage
- * of a set of useful code that is not directly related to launching a JVM-based app.</p>
- */
-public class ExternalLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	/**
-	 * Identifier for the executable server configuration type
-	 * (value <code>"org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"</code>).
-	 */
-	public static final String ID_EXTERNAL_LAUNCH_TYPE = CorePlugin.PLUGIN_ID + ".ExternalLaunchConfigurationType"; //$NON-NLS-1$
-
-	/**
-	 * Name of the launch configuration attribute that holds the external executable commandline.
-	 */
-	public static final String COMMANDLINE = CorePlugin.PLUGIN_ID  + ".COMMANDLINE"; //$NON-NLS-1$
-
-	/**
-	 * Name of the launch configuration attribute that holds a descriptive name for the external executable.
-	 */
-	public static final String EXECUTABLE_NAME = CorePlugin.PLUGIN_ID + ".EXECUTABLE_NAME"; //$NON-NLS-1$
-
-	/**
-	 * Name of the launch configuration attribute that holds the debug port.
-	 */
-	public static final String DEBUG_PORT = CorePlugin.PLUGIN_ID + ".DEBUG_PORT"; //$NON-NLS-1$
-	
-	/**
-	 * Default value for the descriptive name for the external executable.
-	 */
-	public static final String DEFAULT_EXECUTABLE_NAME = "External Generic Server"; //$NON-NLS-1$
-	
-	/**
-	 * Debugging launch configuration delegate.
-	 */
-	private static JavaRemoteApplicationLaunchConfigurationDelegate debuggingDelegate =
-        new JavaRemoteApplicationLaunchConfigurationDelegate();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, 
-			       String mode,
-			       ILaunch launch, 
-			       IProgressMonitor monitor) throws CoreException {
-		IServer server = ServerUtil.getServer(configuration);
-		if (server == null) {
-		    abort(GenericServerCoreMessages.missingServer, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-		}	
-
-		ExternalServerBehaviour serverBehavior = (ExternalServerBehaviour) server.loadAdapter(ServerBehaviourDelegate.class, null);
-		
-		// initialize the server, check the ports and start the PingThread that will check 
-		// server state
-		serverBehavior.setupLaunch(launch, mode, monitor);
-		
-		// get the "external" command
-		String commandline = configuration.getAttribute(COMMANDLINE, (String) null);
-		if (commandline == null || commandline.length() == 0) {
-			abort(GenericServerCoreMessages.commandlineUnspecified, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);			
-		}
-		
-		// parse the "external" command into multiple args
-		String[] cmdArgs = DebugPlugin.parseArguments(commandline);
-		// get the "programArguments", parsed into multiple args
-		String[] pgmArgs = DebugPlugin.parseArguments(getProgramArguments(configuration));
-		
-		// Create the full array of cmds
-		String[] cmds = new String[cmdArgs.length + pgmArgs.length];
-		System.arraycopy(cmdArgs, 0, cmds, 0, cmdArgs.length);
-		System.arraycopy(pgmArgs, 0, cmds, cmdArgs.length, pgmArgs.length);
-		
-		// get a descriptive name for the executable
-		String executableName = configuration.getAttribute(EXECUTABLE_NAME, DEFAULT_EXECUTABLE_NAME);
-		
-		// get the executable environment
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		String[] env = manager.getEnvironment(configuration);
-		
-		// get the working directory
-		File workingDir = verifyWorkingDirectory(configuration);
-		if (workingDir == null) {
-			abort(GenericServerCoreMessages.workingdirUnspecified, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);			
-		}
-		
-		// Launch the executable for the configuration using the Ant Execute class
-		try {
-			Process process = Execute.launch(null, cmds, env, workingDir, true);
-			serverBehavior.startPingThread();
-			IProcess runtimeProcess = new RuntimeProcess(launch, process, executableName, null);
-			launch.addProcess(runtimeProcess);
-			serverBehavior.setProcess(runtimeProcess);
-		} catch (IOException ioe) {
-			abort(GenericServerCoreMessages.errorLaunchingExecutable, ioe,  IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-		}
-
-		if (mode.equals("debug")) { //$NON-NLS-1$
-			ILaunchConfigurationWorkingCopy wc = createDebuggingConfig(configuration);
-			// if we're launching the debugging we need to wait for the config to start
-			// before launching the debugging session
-			serverBehavior.setDebuggingConfig(wc, mode, launch, monitor);
-		}
-	}
-
-	private ILaunchConfigurationWorkingCopy createDebuggingConfig(ILaunchConfiguration configuration) 
-	throws CoreException {
-        ILaunchConfigurationWorkingCopy wc = configuration.getWorkingCopy();
-        setDebugArgument(wc, IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, "hostname", "localhost");  //$NON-NLS-1$//$NON-NLS-2$
-        String port = configuration.getAttribute(DEBUG_PORT, (String) null);
-        if (port==null || port.length()==0) {
-        	abort(GenericServerCoreMessages.debugPortUnspecified, null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-        }
-        setDebugArgument(wc, IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, "port", port); //$NON-NLS-1$
-        return wc;
-	}
-	
-	/**
-	 * Starts the debugging session
-	 */
-	protected static void startDebugging(ILaunchConfigurationWorkingCopy wc,
-			       						 String mode,
-			       						 ILaunch launch, 
-			       						 IProgressMonitor monitor) throws CoreException {
-		Trace.trace(Trace.FINEST, "Starting debugging"); //$NON-NLS-1$
-		debuggingDelegate.launch(wc, mode, launch, monitor);
-	}
-	
-    private void setDebugArgument(ILaunchConfigurationWorkingCopy config, String attribKey, String key, String arg) {
-        try {
-            Map args = config.getAttribute(attribKey, (Map)null);
-            if (args!=null) {
-                args = new HashMap(args);
-            } else {
-                args = new HashMap();
-            }
-            args.put(key, String.valueOf(arg));
-            config.setAttribute(attribKey, args);
-        } catch (CoreException ce) {
-            // ignore
-        }        
-    }
-	
-	/**
-	 * Throws a core exception with the given message and optional
-	 * exception. The exception's status code will indicate an error.
-	 * 
-	 * @param message error message
-	 * @param exception cause of the error, or <code>null</code>
-	 * @exception CoreException with the given message and underlying
-	 *  exception
-	 */
-	protected void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, CorePlugin.getDefault().getBundle().getSymbolicName(), code, message, exception));
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
deleted file mode 100644
index bd630bd..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc. 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    rfrost@bea.com - initial API and implementation
- *    
- *    Based on GenericServerBehavior by Gorkem Ercan
- *******************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jst.server.generic.internal.xml.Resolver;
-import org.eclipse.jst.server.generic.servertype.definition.External;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.util.SocketUtil;
-
-/**
- * Subclass of <code>GenericServerBehavior</code> that supports 
- * servers which are started/stopped via external executables (e.g. scripts).
- */
-public class ExternalServerBehaviour extends GenericServerBehaviour {
-	
-	// config for debugging session
-	private ILaunchConfigurationWorkingCopy fLaunchConfigurationWC;
-    private String fMode;
-    private ILaunch fLaunch; 
-    private IProgressMonitor fProgressMonitor;
-    
-    /**
-     * Override to reset the status if the state was unknown
-     * @param force 
-     */
-    public void stop(boolean force) {
-    	resetStatus(getServer().getServerState());
-    	super.stop(force);
-    }
-
-    /**
-     * Override to set status to unknown if the port was in use and to reset the status if the state was 
-     * unknown and an exception was not thrown. Will want to change logic once external generic server pings
-     * server process to determine state instead of maintaining handle to process. 
-     */
-    protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-    	int state = getServer().getServerState();
-    	try {
-    		super.setupLaunch(launch, launchMode, monitor);
-    	} catch (CoreException ce) {
-    		ServerPort portInUse = portInUse();
-    		if (portInUse != null) {
-    			Trace.trace(Trace.WARNING, "Port " + portInUse.getPort() + " is currently in use");  //$NON-NLS-1$//$NON-NLS-2$
-				Status status = new Status(IStatus.WARNING, CorePlugin.PLUGIN_ID, IStatus.OK, 
-							NLS.bind(GenericServerCoreMessages.errorPortInUse,Integer.toString(portInUse.getPort()),portInUse.getName()), null);
-				setServerStatus(status);
-				setServerState(IServer.STATE_UNKNOWN);
-    		}
-    		throw ce;
-    	}
-    	resetStatus(state);
-    }
-    
-    private ServerPort portInUse() {
-    	ServerPort[] ports = getServer().getServerPorts(null);
-    	ServerPort sp;
-    	for(int i=0;i<ports.length;i++){
-    		sp = ports[i];
-    		if (SocketUtil.isPortInUse(sp.getPort(), 5)) {
-    			return sp;
-    		}
-    	}
-    	return null;
-	}
-    
-	/**
-	 * Override to trigger the launch of the debugging session (if appropriate).
-	 */
-	protected synchronized void setServerStarted() {
-		if (fLaunchConfigurationWC != null) {
-			try {
-				ExternalLaunchConfigurationDelegate.startDebugging(fLaunchConfigurationWC, fMode, fLaunch, fProgressMonitor);
-			} catch (CoreException ce) {
-				// failed to start debugging, so set mode to run
-				setMode(ILaunchManager.RUN_MODE);
-				final Status status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 1,
-							GenericServerCoreMessages.errorStartingExternalDebugging, ce); 
-				CorePlugin.getDefault().getLog().log(status);
-				Trace.trace(Trace.SEVERE, GenericServerCoreMessages.errorStartingExternalDebugging, ce);
-			} finally {
-				clearDebuggingConfig();
-			}
-		}
-		setServerState(IServer.STATE_STARTED);
- 	}
-	
-	/*
-	 * If the server state is unknown, reset the status to OK
-	 */
-	private void resetStatus(int state) {
-		if (state == IServer.STATE_UNKNOWN) {
-			setServerStatus(null);
-		}
-	}
-	
-	/**
-	 * Since terminate() is called during restart, need to override to
-	 * call shutdown instead of just killing the original process.
-	 */
-	protected void terminate() {
-		int state = getServer().getServerState();
-		if (state == IServer.STATE_STOPPED) 
-    		return;
-    
-		// cache a ref to the current process
-		IProcess currentProcess = process;
-		// set the process var to null so that GenericServerBehavior.setProcess()
-		// will grab the stop executable (and declare the server stopped when it exits)
-		process = null;
-
-		// execute the standard shutdown
-		shutdown(state);
-		
-		// if the shutdown did not terminate the process, forcibly terminate it
-		try {
-    		if (currentProcess != null && !currentProcess.isTerminated()) {
-    			Trace.trace(Trace.FINER, "About to kill process: " + currentProcess); //$NON-NLS-1$
-    			currentProcess.terminate();
-    			currentProcess = null;
-    		}
-    	} catch (Exception e) {
-    		Trace.trace(Trace.SEVERE, "Error killing the process", e); //$NON-NLS-1$
-    	}
-	}
-	
-	/**
-	 * Override superclass method to correctly setup the launch configuration for starting an external
-	 * server.
-	 * @param workingCopy
-	 * @param monitor
-	 * @throws CoreException 
-	 */
-	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy,
-										 IProgressMonitor monitor) throws CoreException {
-		clearDebuggingConfig();
-		ServerRuntime serverDef = getServerDefinition();
-		Resolver resolver = serverDef.getResolver();
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-					resolver.resolveProperties(serverDef.getStart().getWorkingDirectory()));
-		String external = resolver.resolveProperties(getExternalForOS(serverDef.getStart().getExternal()));
-		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.COMMANDLINE, external);
-		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.DEBUG_PORT, 
-					resolver.resolveProperties(serverDef.getStart().getDebugPort()));
-		// just use the commandline for now
-		workingCopy.setAttribute(ExternalLaunchConfigurationDelegate.EXECUTABLE_NAME, external);
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStart());
-        if(!environVars.isEmpty()){
-        	workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-        String existingProgArgs  = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-        String serverProgArgs =  getProgramArguments();
-        if(existingProgArgs==null || existingProgArgs.indexOf(serverProgArgs)<0) {
-            workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,serverProgArgs);
-        }
-	}
-
-	/*
-	 * Returns the first external whose "os" attribute matches (case insensitive) the beginning 
-	 * of the name of the current OS (as determined by the System "os.name" property). If
-	 * no such match is found, returns the first external that does not have an OS attribute.
-	 */
-	private String getExternalForOS(List externals) {
-		String currentOS = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
-		External external;
-		String matchingExternal = null;
-		String externalOS;
-		Iterator i = externals.iterator();
-		while (i.hasNext()) {
-			external= (External) i.next();
-			externalOS = external.getOs();
-			if (externalOS == null) {
-				if (matchingExternal == null) {
-					matchingExternal = external.getValue();
-				}
-			} else if (currentOS.startsWith(externalOS.toLowerCase())) {
-				matchingExternal = external.getValue();
-				break;
-			}
-		}
-		return matchingExternal;
-	}
-
-	/**
-     * Returns the String ID of the launch configuration type.
-     * @return launchTypeID
-     */
-	protected String getConfigTypeID() {
-		return ExternalLaunchConfigurationDelegate.ID_EXTERNAL_LAUNCH_TYPE;
-	}
-
-	/**
-	 * Returns the String name of the stop launch configuration.
-	 * @return launcherName
-	 */
-	protected String getStopLaunchName() {
-		return GenericServerCoreMessages.externalStopLauncher;
-	}
-	
-	/**
-	 * Sets up the launch configuration for stopping the server.
-	 * 
-	 */
-	protected void setupStopLaunchConfiguration(GenericServerRuntime runtime, ILaunchConfigurationWorkingCopy wc) {
-		clearDebuggingConfig();
-		ServerRuntime serverDef = getServerDefinition();
-		Resolver resolver = serverDef.getResolver(); 
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-					resolver.resolveProperties(serverDef.getStop().getWorkingDirectory()));
-		String external = resolver.resolveProperties(getExternalForOS(serverDef.getStop().getExternal()));
-		wc.setAttribute(ExternalLaunchConfigurationDelegate.COMMANDLINE, external);
-		// just use commandline for now
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStop());
-        if(!environVars.isEmpty()){
-        	wc.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-				resolver.resolveProperties(serverDef.getStop().getProgramArgumentsAsString()));
-		wc.setAttribute(ExternalLaunchConfigurationDelegate.EXECUTABLE_NAME, external); 	
-		wc.setAttribute(Server.ATTR_SERVER_ID, getServer().getId());
-	}
-	
-	/**
-	 * Sets the configuration to use for launching a debugging session
-	 */
-	protected synchronized void setDebuggingConfig(ILaunchConfigurationWorkingCopy wc,
-					 			      String mode,
-					 			      ILaunch launch, 
-					 			      IProgressMonitor monitor) {
-		this.fLaunchConfigurationWC = wc;
-		this.fMode = mode;
-		this.fLaunch = launch;
-		this.fProgressMonitor = monitor;
-	}
-	
-	private synchronized void clearDebuggingConfig() {
-		this.fLaunchConfigurationWC = null;
-		this.fMode = null;
-		this.fLaunch = null;
-		this.fProgressMonitor = null;
-	}
-	
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericPublisher.java
deleted file mode 100644
index a5c4ea7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericPublisher.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-
-/**
- * The abstract publisher. This is intended to be subclassed by
- * clients implementing the genericpublisher extension point.
- *
- * @author Gorkem Ercan
- */
-public abstract class GenericPublisher 
-{
-    
-    private IModule[] fModule;
-    private GenericServerRuntime fServerRuntime;
-    private GenericServer fServer;
-    
-    protected void initialize(IModule[] module, IServer server)
-    {
-        fModule = module;
-        fServer = (GenericServer)server.loadAdapter(GenericServer.class,null);
-        fServerRuntime = (GenericServerRuntime)server.getRuntime().loadAdapter(GenericServerRuntime.class,null);
-    }
-   /**
-    * Called by the generic server implementation when a module is 
-    * removed form the server instance. 
-    * Subclasses may extend this method to perform their own module removal
-    * 
-    * @param monitor
-    * @return status
-    */ 
-   public abstract IStatus[] unpublish(IProgressMonitor monitor);
-    
-    /**
-     * Called by the generic server implementation when a publish module 
-     * event occurs. 
-     * Subclasses may extend this method to perform their own publishing
-     * 
-     * @param resource
-     * @param monitor
-     * @return status
-     */
-    public abstract IStatus[] publish(IModuleArtifact[] resource,
-            IProgressMonitor monitor);
-   
-    /**
-     * Returns the module associated with this publisher instance
-     * @return module
-     */
-    public IModule[] getModule() {
-        return fModule;
-    }
-
-    /**
-     * Generic server instance
-     * @return server
-     */
-    public GenericServer getServer(){
-    	return fServer;
-    }
-    /**
-     * a handle to server definition.
-     * @return serverdef
-     */
-    public GenericServerRuntime getServerRuntime() {
-        return fServerRuntime;
-    }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServer.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServer.java
deleted file mode 100644
index b2e5293..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServer.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.FacetUtil;
-import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-import org.eclipse.jst.server.generic.servertype.definition.Port;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.IURLProvider;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-
-/**
- * Generic XML based server implementation.
- * 
- * @author Gorkem Ercan
- */
-public class GenericServer extends ServerDelegate implements IURLProvider {
-
-    private static final String ATTR_GENERIC_SERVER_MODULES = "Generic_Server_Modules_List"; //$NON-NLS-1$
-
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		List moduleTypes = getServerDefinition().getModule();
-        int found =0;
-		for (int i = 0; i < add.length; i++) {
-			for(int j=0;j<moduleTypes.size();j++){
-				 Module module = (Module)moduleTypes.get(j);
-				 if(add[i].getModuleType()!= null && add[i].getModuleType().getId().equals(module.getType())){
-					 found++;
-					 break;
-				  }
-			}
-        }
-		
-		for (int i = 0; i < add.length; i++) {
-			IModule module = add[i];
-			if (module.getProject() != null) {
-				IStatus status = FacetUtil.verifyFacets(module.getProject(), getServer());
-				if (status != null && !status.isOK())
-					return status;
-			}
-		}
-		
-		if(found==add.length)
-			return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "CanModifyModules", null); //$NON-NLS-1$
-		
-		return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.moduleNotCompatible, null);
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerDelegate#modifyModules(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IModule[], org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-      
-        List modules = this.getAttribute(ATTR_GENERIC_SERVER_MODULES,(List)null);
-        
-        if(add!=null&& add.length>0)
-        {
-            if(modules==null) {
-               modules=new ArrayList(add.length);
-            }
-            for (int i = 0; i < add.length; i++) {
-               
-               if(modules.contains(add[i].getId())==false)
-                    modules.add(add[i].getId());
-            }
-        }
-        if(remove!=null && remove.length>0 && modules!=null)
-        {
-            for (int i = 0; i < remove.length; i++) {
-                modules.remove(remove[i].getId());
-             }
-        }
-        if(modules!=null)    
-            setAttribute(ATTR_GENERIC_SERVER_MODULES,modules);
-        
-    }
-
- 	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IServerDelegate#getChildModules(org.eclipse.wst.server.core.model.IModule[])
-	 */
-	public IModule[] getChildModules(IModule[] module) {
-		if (module[0] != null && module[0].getModuleType() != null) {
-			if (module.length == 1) {
-				IModuleType moduleType = module[0].getModuleType();
-				if (moduleType != null && "jst.ear".equals(moduleType.getId())) { //$NON-NLS-1$
-					IEnterpriseApplication enterpriseApplication = (IEnterpriseApplication) module[0]
-							.loadAdapter(IEnterpriseApplication.class, null);
-					if (enterpriseApplication != null) {
-						IModule[] earModules = enterpriseApplication.getModules(); 
-						if ( earModules != null) {
-							return earModules;
-						}
-					}
-				}
-				else if (moduleType != null && "jst.web".equals(moduleType.getId())) { //$NON-NLS-1$
-					IWebModule webModule = (IWebModule) module[0].loadAdapter(IWebModule.class, null);
-					if (webModule != null) {
-						IModule[] modules = webModule.getModules();
-						return modules;
-					}
-				}
-			}
-		}
-		return new IModule[0];
-	}
-
-	/**
-	 * Returns the server instance properties including runtime properties. 
-	 * 
-	 * @return server instance properties.
-	 */
-	private Map getInstanceProperties() {
-		Map runtimeProperties =getRuntimeDelegate().getServerInstanceProperties();
-		Map serverProperties = getServerInstanceProperties();
-		Map instanceProperties = new HashMap(runtimeProperties.size()+serverProperties.size());
-		instanceProperties.putAll(runtimeProperties);
-		instanceProperties.putAll(serverProperties);
-		return instanceProperties;
-	}
-	
- 	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.core.model.IMonitorableServer#getServerPorts()
-	 */
-	public org.eclipse.wst.server.core.ServerPort[] getServerPorts() {
-		List ports = new ArrayList();
-		Iterator pIter = this.getServerDefinition().getPort().iterator();
-		while (pIter.hasNext()) {
-			Port element = (Port) pIter.next();
-			int port = Integer.parseInt(getServerDefinition().getResolver().resolveProperties(element.getNo()));
-			ports.add(new ServerPort("server", element.getName(), port, element.getProtocol()));		 //$NON-NLS-1$
-		}
-	
-		return (org.eclipse.wst.server.core.ServerPort[])ports.toArray(new org.eclipse.wst.server.core.ServerPort[ports.size()]);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wtp.server.core.model.IURLProvider#getModuleRootURL(org.eclipse.wtp.server.core.model.IModule)
-	 */
-	public URL getModuleRootURL(IModule module) {
-
-		try {
-            if (module == null || module.loadAdapter(IWebModule.class,null)==null )
-				return null;
-            
-            IWebModule webModule =(IWebModule)module.loadAdapter(IWebModule.class,null);
-            String host = getServer().getHost();
-			String url = "http://"+host; //$NON-NLS-1$
-			int port = 0;
-			
-			port = getHttpPort();
-			port =ServerUtil.getMonitoredPort(getServer(), port, "web"); //$NON-NLS-1$
-			if (port != 80)
-				url += ":" + port; //$NON-NLS-1$
-
-			url += "/"+webModule.getContextRoot(); //$NON-NLS-1$
-
-			if (!url.endsWith("/")) //$NON-NLS-1$
-				url += "/"; //$NON-NLS-1$
-
-			return new URL(url);
-		} catch (Exception e) {
-			Trace.trace("Could not get root URL", e); //$NON-NLS-1$
-			return null;
-		}
-
-	}
-
-	/**
-	 * Return http port
-	 * @return port
-	 */
-	protected int getHttpPort() {
-		int port=-1;
-		Iterator pIter = this.getServerDefinition().getPort().iterator();
-		while (pIter.hasNext()) {
-			Port aPort = (Port) pIter.next();
-			if(port== -1)
-				port = Integer.parseInt(getServerDefinition().getResolver().resolveProperties(aPort.getNo()));
-			else if( "http".equals(aPort.getProtocol() ) ) //$NON-NLS-1$
-				port = Integer.parseInt(aPort.getNo());	
-		}
-		if( port == -1)
-			port = 8080;
-		return port;
-	}
-
-	/**
-	 * Returns the ServerRuntime that represents the .serverdef
-	 * file for this server. 
-	 * @return server runtime
-	 */
-    public ServerRuntime getServerDefinition(){
-		String rtTypeId = getServer().getRuntime().getRuntimeType().getId();
-		return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(rtTypeId,getInstanceProperties());
-	}
-
-    private GenericServerRuntime getRuntimeDelegate(){
-    	return (GenericServerRuntime)getServer().getRuntime().loadAdapter(GenericServerRuntime.class,null);
-     }
-
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.server.core.model.ServerDelegate#getRootModules(org.eclipse.wst.server.core.IModule)
-     */
-    public IModule[] getRootModules(IModule module) throws CoreException {
-     	IStatus status = canModifyModules(new IModule[] { module }, null);
-        if (status != null && !status.isOK())
-            return null;
-        IModule[] childs = doGetParentModules(module);
-        if(childs.length>0)
-        	return childs;
-        return new IModule[] { module };
-    }
-
-
-	private IModule[] doGetParentModules(IModule module) {
-		IModule[] ears = ServerUtil.getModules("jst.ear"); //$NON-NLS-1$
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < ears.length; i++) {
-			IEnterpriseApplication ear = (IEnterpriseApplication)ears[i].loadAdapter(IEnterpriseApplication.class,null);
-			IModule[] childs = ear.getModules();
-			for (int j = 0; j < childs.length; j++) {
-				if(childs[j].equals(module))
-					list.add(ears[i]);
-			}
-		}
-		return (IModule[])list.toArray(new IModule[list.size()]);
-	}
-	/**
-	 * Returns the server properties.
-	 * @return Map of properties.
-	 */
-    public Map getServerInstanceProperties() {
- 		return getAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES, new HashMap());
- 	}
- 	/**
- 	 * Change the server instance properties.
- 	 * 
- 	 * @param map
- 	 */
- 	public void setServerInstanceProperties(Map map) {
- 		setAttribute(GenericServerRuntime.SERVER_INSTANCE_PROPERTIES, map);
- 	}
- 	/**
- 	 * Checks if the properties set for this server is valid. 
- 	 * @return status
- 	 */
- 	public IStatus validate() {
- 		List props = this.getServerDefinition().getProperty();
- 		for(int i=0;i<props.size();i++)
- 		{
- 			Property property =(Property)props.get(i);
- 			if(property.getType().equals(Property.TYPE_DIRECTORY) || property.getType().equals(Property.TYPE_FILE))
- 			{
- 				String path= (String)getInstanceProperties().get(property.getId());
- 				if(path!=null && !pathExist(path))
- 					return  new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, NLS.bind(GenericServerCoreMessages.invalidPath,path), null);
- 			}
- 		}
- 		return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
- 	}
-	private boolean pathExist(String path){
-		File f = new File(path);
-		return f.exists();
-	}
- 
-	public void setDefaults(IProgressMonitor monitor) {
- 		List props = this.getServerDefinition().getProperty();
- 		Map instancePropsMap = new HashMap();
- 		for (Iterator iter = props.iterator(); iter.hasNext();) {
-			Property element = (Property) iter.next();
-			if(Property.CONTEXT_SERVER.equalsIgnoreCase(element.getContext()))
-				instancePropsMap.put(element.getId(), element.getDefault());
-		}
- 		setServerInstanceProperties(instancePropsMap);
- 	}
- 	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
deleted file mode 100644
index 046e674..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerBehaviour.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerPort;
-import org.eclipse.wst.server.core.internal.DeletedModule;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.model.ServerDelegate;
-import org.eclipse.wst.server.core.util.SocketUtil;
-
-/**
- * Server behaviour delegate implementation for generic server.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerBehaviour extends ServerBehaviourDelegate {
-	
-	private static final String ATTR_STOP = "stop-server"; //$NON-NLS-1$
-    
-	// the thread used to ping the server to check for startup
-	protected transient PingThread ping = null;
-    protected transient IDebugEventSetListener processListener;
-    protected transient IProcess process;
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerBehaviourDelegate#publishServer(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerBehaviourDelegate#publishModule(org.eclipse.wst.server.core.IModule[], org.eclipse.wst.server.core.IModule, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public void publishModule(int kind, int deltaKind, IModule[] module,
-            IProgressMonitor monitor) throws CoreException {
- 
-    	
-        if(REMOVED == deltaKind){
-            removeFromServer(module,monitor);
-        }
-        else{
-        	checkClosed(module);
-            String publisherId = ServerTypeDefinitionUtil.getPublisherID(module[0], getServerDefinition());
-            GenericPublisher publisher = PublishManager.getPublisher(publisherId);
-            if(publisher==null){
-                IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0, NLS.bind(GenericServerCoreMessages.unableToCreatePublisher,publisherId),null);
-                throw new CoreException(status);
-            }
-            publisher.initialize(module,getServer());
-            IStatus[] status= publisher.publish(null,monitor);
-            if(status==null){
-                setModulePublishState(module, IServer.PUBLISH_STATE_NONE);
-            }else {
-                for (int i=0; i < status.length; i++) {
-                    if (IStatus.ERROR == status[i].getSeverity()){
-                    	setModulePublishState(module, IServer.PUBLISH_STATE_UNKNOWN);
-                        throw new CoreException(status[i]);
-                    }
-                }
-            }
-        }
-    }
-
-    private void checkClosed(IModule[] module) throws CoreException
-    {
-    	for(int i=0;i<module.length;i++)
-    	{
-    		if(module[i] instanceof DeletedModule)
-    		{	
-                IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0, NLS.bind(GenericServerCoreMessages.canNotPublishDeletedModule,module[i].getName()),null);
-                throw new CoreException(status);
-    		}
-    	}
-    }
-    private void removeFromServer(IModule[] module, IProgressMonitor monitor) throws CoreException
-    {
-    	String publisherId = ServerTypeDefinitionUtil.getPublisherID(module[0], getServerDefinition());
-        GenericPublisher publisher = PublishManager.getPublisher(publisherId);  
-        if(publisher==null){
-            IStatus status = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,NLS.bind(GenericServerCoreMessages.unableToCreatePublisher,publisherId),null);
-            throw new CoreException(status);
-        }
-        publisher.initialize(module,getServer());
-        publisher.unpublish(monitor);
-    }
-    
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.wst.server.core.model.ServerBehaviourDelegate#stop(boolean)
-     */
-    public void stop(boolean force) {
-		if (force) {
-			terminate();
-			return;
-		}
-
-		int state = getServer().getServerState();
-		if (state == IServer.STATE_STOPPED)
-			return;
-		else if (state == IServer.STATE_STARTING || state == IServer.STATE_STOPPING) {
-			terminate();
-			return;
-		}
-		
-		shutdown(state);
-    }
-    
-    /**
-     * Shuts down the server via the launch configuration.
-     */
-    protected void shutdown(int state) {
-		GenericServerRuntime runtime = getRuntimeDelegate();
-		try {
-			Trace.trace(Trace.FINEST, "Stopping Server"); //$NON-NLS-1$
-			if (state != IServer.STATE_STOPPED)
-				setServerState(IServer.STATE_STOPPING);
-			String configTypeID = getConfigTypeID(); 
-			ILaunchManager mgr = DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfigurationType type = mgr.getLaunchConfigurationType(configTypeID);
-			String launchName = getStopLaunchName();
-			String uniqueLaunchName = mgr.generateUniqueLaunchConfigurationNameFrom(launchName);
-			ILaunchConfiguration conf = null;
-			ILaunchConfiguration[] lch = mgr.getLaunchConfigurations(type);
-			for (int i = 0; i < lch.length; i++) {
-				if (launchName.equals(lch[i].getName())) {
-					conf = lch[i];
-					break;
-				}
-			}
-
-			ILaunchConfigurationWorkingCopy wc = null;
-			if (conf != null) {
-				wc = conf.getWorkingCopy();
-			} else {
-				wc = type.newInstance(null, uniqueLaunchName);
-			}
-			
-			// To stop from appearing in history lists
-			wc.setAttribute(IDebugUIConstants.ATTR_PRIVATE, true);		
-			// Set the stop attribute so that we know we are stopping
-			wc.setAttribute(ATTR_STOP, "true"); //$NON-NLS-1$
-			
-			// Setup the launch config for stopping the server
-			setupStopLaunchConfiguration(runtime, wc);
-			
-			// Launch the stop launch config
-			wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
-
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error stopping Server", e); //$NON-NLS-1$
-		}
-    }
-
-    /**
-     * Returns the String ID of the launch configuration type.
-     * @return id
-     */
-	protected String getConfigTypeID() {
-		return IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION;
-	}
-
-	/**
-	 * Returns the String name of the stop launch configuration.
-	 * @return launchname
-	 */
-	protected String getStopLaunchName() {
-		return "GenericServerStopper"; //$NON-NLS-1$
-	}
-	
-	private boolean isRemote(){
-		return (getServer().getServerType().supportsRemoteHosts()&& !SocketUtil.isLocalhost(getServer().getHost()) );
-	}	
-	/**
-	 * Sets up the launch configuration for stopping the server.
-	 */
-	protected void setupStopLaunchConfiguration(GenericServerRuntime runtime, ILaunchConfigurationWorkingCopy wc) {
-		if(isRemote())// Do not launch for remote servers.
-			return;
-		
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-				getServerDefinition().getResolver().resolveProperties(this.getServerDefinition().getStop().getMainClass()));
-
-		IVMInstall vmInstall = runtime.getVMInstall();
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, runtime
-						.getVMInstallTypeId());
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME,
-				vmInstall.getName());
-
-		setupLaunchClasspath(wc, vmInstall, getStopClasspath());
-
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStop());
-        if(!environVars.isEmpty()){
-        	wc.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-        
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getWorkingDirectory()));
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getProgramArgumentsAsString()));
-		wc.setAttribute(
-				IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-				getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStop().getVmParametersAsString()));				
-	}
-
-    /**
-     * Start class name
-     * @return name
-     */
-    public String getStartClassName() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getMainClass());
-    }
-
-    /** 
-     * Server definition
-     * @return serverdef
-     */
-    public ServerRuntime getServerDefinition() {
-        GenericServer server = (GenericServer)getServer().loadAdapter(ServerDelegate.class, null);
-        return server.getServerDefinition();
-    }
-    
-    protected GenericServerRuntime getRuntimeDelegate() {
-       return (GenericServerRuntime)getServer().getRuntime().loadAdapter(GenericServerRuntime.class,null);
-    }
-
-    private List getStartClasspath() {
-    	String cpRef = getServerDefinition().getStart().getClasspathReference();
-    	return serverClasspath(cpRef);
-    }
-
-    /**
-     * @param cpRef
-     * @return classpath
-     */
-    protected List serverClasspath(String cpRef) {
-    	Classpath classpath = getServerDefinition().getClasspath(cpRef);
-    	
-        List cpEntryList = new ArrayList(classpath.getArchive().size());
-        Iterator iterator= classpath.getArchive().iterator();
-        while(iterator.hasNext())
-        {
-        	ArchiveType archive = (ArchiveType)iterator.next();
-        	String cpath = getServerDefinition().getResolver().resolveProperties(archive.getPath());
-    	
-    			cpEntryList.add(JavaRuntime.newArchiveRuntimeClasspathEntry(
-    					new Path(cpath)));
-         }
-    	return cpEntryList;
-    }
-
-    /**
-     * @param wc
-     * @param vmInstall
-     */
-    protected void setupLaunchClasspath(ILaunchConfigurationWorkingCopy wc, IVMInstall vmInstall, List cp) {
-		//merge existing classpath with server classpath
-		try {
-			IRuntimeClasspathEntry[] existingCps = JavaRuntime.computeUnresolvedRuntimeClasspath(wc);
-			for (int i = 0; i < existingCps.length; i++) {
-				if(cp.contains(existingCps[i])==false){ 
-					cp.add(existingCps[i]);
-				}
-			}
-		} catch (CoreException e) {
-			// ignore
-		}
-		
-    	wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, convertCPEntryToMemento(cp));
-    	wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH,false);
-    }
-
-	private List convertCPEntryToMemento(List cpEntryList)
-	{
-		List list = new ArrayList(cpEntryList.size());
-		Iterator iterator = cpEntryList.iterator();
-		while(iterator.hasNext())
-		{
-			IRuntimeClasspathEntry entry = (IRuntimeClasspathEntry)iterator.next();
-			try {
-				list.add(entry.getMemento());
-			} catch (CoreException e) {
-				// ignore
-			}
-		}
-		return list;
-	}
-
-    private String getWorkingDirectory() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getWorkingDirectory());
-    }
-
-    protected String getProgramArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getProgramArgumentsAsString());
-    }
-
-    protected Map getEnvironmentVariables(LaunchConfiguration config){
-        List variables = config.getEnvironmentVariable();
-        Map varsMap = new HashMap(variables.size());
-        Iterator iterator= variables.iterator();
-        while(iterator.hasNext()){
-        	ArgumentPair pair = (ArgumentPair)iterator.next();
-        	varsMap.put(pair.getName(),getServerDefinition().getResolver().resolveProperties(pair.getValue()));
-        }
-        return varsMap;
-    }
-    
-    private String getVmArguments() {
-    	return getServerDefinition().getResolver().resolveProperties(getServerDefinition().getStart().getVmParametersAsString());
-    }
-
-    public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException {
-		if(isRemote())// No launch for remote servers.
-			return;
-    	
-    	workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-                getStartClassName());
-
-        GenericServerRuntime runtime = getRuntimeDelegate();
-
-        IVMInstall vmInstall = runtime.getVMInstall();
-        workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, runtime
-                        .getVMInstallTypeId());
-        workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME,
-                vmInstall.getName());
-
-        setupLaunchClasspath(workingCopy, vmInstall, getStartClasspath());
-
-
-        workingCopy.setAttribute(
-                IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-                getWorkingDirectory());
-        
-
-        Map environVars = getEnvironmentVariables(getServerDefinition().getStart());
-        if(!environVars.isEmpty()){
-        	workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES,environVars);
-        }
-        
-        String existingProgArgs  = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-        String serverProgArgs =  getProgramArguments();
-        if(existingProgArgs==null || existingProgArgs.indexOf(serverProgArgs)<0) {
-            workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,serverProgArgs);
-        }
-        String existingVMArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,(String)null);
-        String serverVMArgs= getVmArguments();
-        if(existingVMArgs==null || existingVMArgs.indexOf(serverVMArgs)<0) {
-            workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,serverVMArgs);
-        }
-	}
-    
-    /**
-     * Setup for starting the server. Checks all ports available 
-     * and sets server state and mode.
-     * 
-     * @param launch ILaunch
-     * @param launchMode String
-     * @param monitor IProgressMonitor
-     */
-    protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-    	if ("true".equals(launch.getLaunchConfiguration().getAttribute(ATTR_STOP, "false")))  //$NON-NLS-1$ //$NON-NLS-2$
-    		return;
-
-    	String host = getServer().getHost();
-    	ServerPort[] ports = getServer().getServerPorts(null);
-    	ServerPort sp = null;
-    	if(SocketUtil.isLocalhost(host)){
-	    	for(int i=0;i<ports.length;i++){
-	    		sp= ports[i];
-	    		if (SocketUtil.isPortInUse(ports[i].getPort(), 5))
-	    			throw new CoreException(new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, NLS.bind(GenericServerCoreMessages.errorPortInUse,Integer.toString(sp.getPort()),sp.getName()),null));
-	    	}
-    	}
-    	setServerState(IServer.STATE_STARTING);
-    	setMode(launchMode);
-    }
-    /**
-     * Call to start Ping thread that will check for startup of the server.
-     *
-     */
-    protected void startPingThread()
-    {
-    	try {
-    		String url = "http://"+getServer().getHost();; //$NON-NLS-1$
-    	  	ServerPort[] ports = getServer().getServerPorts(null);
-        	ServerPort sp = null;
-    	    for(int i=0;i<ports.length;i++){
-    	    	if(ports[i].getProtocol().equalsIgnoreCase("http")){//$NON-NLS-1$
-    	    		sp=ports[i];
-    	    	}
-    	    }
-	    	if(sp==null){
-	    		Trace.trace(Trace.SEVERE, "Can't ping for server startup."); //$NON-NLS-1$
-	    		return;
-	    	}
-        	int port = sp.getPort();
-    		if (port != 80)
-    			url += ":" + port; //$NON-NLS-1$
-    		ping = new PingThread(getServer(), url, this);
-    	} catch (Exception e) {
-    		Trace.trace(Trace.SEVERE, "Can't ping for server startup."); //$NON-NLS-1$
-    	}  	
-    }
-   
-    protected void setProcess(final IProcess newProcess) {
-    	if (process != null)
-    		return;
-    	if(processListener!=null)
-    		DebugPlugin.getDefault().removeDebugEventListener(processListener);
-    	if (newProcess==null)
-    		return;
-    	process = newProcess;
-    	processListener = new IDebugEventSetListener() {
-    		public void handleDebugEvents(DebugEvent[] events) {
-    			if (events != null) {
-    				int size = events.length;
-    				for (int i = 0; i < size; i++) {
-    					if (process!= null &&  process.equals(events[i].getSource()) && events[i].getKind() == DebugEvent.TERMINATE) {
-    						DebugPlugin.getDefault().removeDebugEventListener(this);
-    						stopImpl();
-    					}
-    				}
-    			}
-    		}
-    	};
-    	DebugPlugin.getDefault().addDebugEventListener(processListener);
-    }
-
-    protected void stopImpl() {
-    	if (ping != null) {
-    		ping.stop();
-    		ping = null;
-    	}
-    	if (process != null) {
-    		process = null;
-    		DebugPlugin.getDefault().removeDebugEventListener(processListener);
-    		processListener = null;
-    	}
-    	setServerState(IServer.STATE_STOPPED);
-    }
-
-    /**
-     * Terminates the server.
-     * This method may be called before a process created while setting up the 
-     * launch config. 
-     */
-    protected void terminate() {
-    	if (getServer().getServerState() == IServer.STATE_STOPPED)
-    		return;
-    
-    	try {
-    		setServerState(IServer.STATE_STOPPING);
-    		Trace.trace(Trace.FINEST, "Killing the Server process"); //$NON-NLS-1$
-    		if (process != null && !process.isTerminated()) {
-    			process.terminate();
-    			
-    		}
-    		stopImpl();
-    	} catch (Exception e) {
-    		Trace.trace(Trace.SEVERE, "Error killing the process", e); //$NON-NLS-1$
-    	}
-    }
-
-    private List getStopClasspath() {
-    	String cpRef = getServerDefinition().getStop().getClasspathReference();
-    	return serverClasspath(cpRef);
-    }
-
-    public void publishFinish(IProgressMonitor monitor) throws CoreException {
-        IModule[] modules = this.getServer().getModules();
-        boolean allpublished= true;
-        for (int i = 0; i < modules.length; i++) {
-        	if(this.getServer().getModulePublishState(new IModule[]{modules[i]})!=IServer.PUBLISH_STATE_NONE)
-                allpublished=false;
-        }
-        if(allpublished)
-            setServerPublishState(IServer.PUBLISH_STATE_NONE);
-    }
-    
- 	protected void setServerStarted() {
- 		setServerState(IServer.STATE_STARTED);
- 	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.java
deleted file mode 100644
index 93e72cb..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Helper class to get messages
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerCoreMessages extends NLS{
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jst.server.generic.core.internal.GenericServerCoreMessages";//$NON-NLS-1$
-	public static String cancelNoPublish;
-	public static String moduleNotCompatible;
-	public static String errorPortInUse;
-	public static String errorJRE;
-	public static String errorNoServerType;
-	public static String errorNoClasspath;
-	public static String errorMissingClasspathEntry;
-	public static String errorRemoveModuleAntpublisher;
-	public static String errorPublishAntpublisher;
-	public static String commandlineUnspecified;
-	public static String noProfiler;
-	public static String workingdirUnspecified;
-	public static String errorLaunchingExecutable;
-	public static String missingServer;
-	public static String externalStopLauncher;
-	public static String debugPortUnspecified;
-	public static String errorStartingExternalDebugging;
-	public static String invalidPath;
-	public static String runModeNotSupported;
-	public static String unableToCreatePublisher;
-	public static String canNotPublishDeletedModule;
-	public static String antLauncherMissing;
-	
-	static{
-		  NLS.initializeMessages(RESOURCE_BUNDLE, GenericServerCoreMessages.class);
-	}
-
-
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.properties b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.properties
deleted file mode 100644
index 763914e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerCoreMessages.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###############################################################################
-errorJRE=Invalid JRE
-errorNoServerType=No server type definition
-errorMissingClasspathEntry=Missing classpath entry {0}
-errorPortInUse=Server port In Use {0}-{1}
-cancelNoPublish=Nothing to publish
-moduleNotCompatible=Module type is not compatible
-errorNoClasspath=No classpath is defined
-errorRemoveModuleAntpublisher= Remove module failed using Ant publisher
-errorPublishAntpublisher= Publish failed using Ant publisher
-commandlineUnspecified=Executable commandline is unspecified
-workingdirUnspecified=Working directory is unspecified or invalid
-errorLaunchingExecutable=Error launching executable
-missingServer=Server does not exist
-externalStopLauncher=ExternalLaunchStopper
-debugPortUnspecified=Debugging port is unspecified
-errorStartingExternalDebugging=Error launching remote debugging for external server, changing to non-debugging mode.\nPlease check the debug port setting and ensure that the specified 'start' executable launches the server with debugging enabled
-invalidPath = {0} is not valid
-runModeNotSupported= Selected VM does not support this mode
-unableToCreatePublisher=Unable to create publisher {0}
-canNotPublishDeletedModule=Can not publish because module {0} is closed or deleted
-antLauncherMissing=Ant launcher is missing or disabled
-noProfiler=Could not launch in profiling mode because no profilers are configured.
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchConfigurationDelegate.java
deleted file mode 100644
index f71a296..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.File;
-import java.util.Map;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.ExecutionArguments;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.VMRunnerConfiguration;
-import org.eclipse.jst.server.core.internal.JavaServerPlugin;
-import org.eclipse.jst.server.core.internal.ServerProfiler;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
-import org.eclipse.wst.server.core.util.SocketUtil;
-/**
- * ServerLaunchConfiguration for the generic server.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode,
-			ILaunch launch, IProgressMonitor monitor) throws CoreException {
-
-		IServer server = ServerUtil.getServer(configuration);
-		if (server == null) {
-			abort(GenericServerCoreMessages.missingServer, null,
-					IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR);
-		}
-		GenericServerBehaviour genericServer = (GenericServerBehaviour) server.loadAdapter(ServerBehaviourDelegate.class, null);
-
-		try {
-			genericServer.setupLaunch(launch, mode, monitor);
-			if(genericServer.getServer().getServerType().supportsRemoteHosts() && !SocketUtil.isLocalhost(genericServer.getServer().getHost())){
-			// no launch for remote servers
-				return;
-			}
-
-			String mainTypeName = genericServer.getStartClassName();
-			IVMInstall vm = verifyVMInstall(configuration);
-			IVMRunner runner = vm.getVMRunner(mode);
-			
-			if(runner == null && ILaunchManager.PROFILE_MODE.equals(mode)){
-				runner = vm.getVMRunner(ILaunchManager.RUN_MODE);
-			}
-			if(runner == null){
-				throw new CoreException(new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,GenericServerCoreMessages.runModeNotSupported,null));
-			}
-			File workingDir = verifyWorkingDirectory(configuration);
-			String workingDirName = null;
-			if (workingDir != null)
-				workingDirName = workingDir.getAbsolutePath();
-
-			// Program & VM args
-			String pgmArgs = getProgramArguments(configuration);
-			String vmArgs = getVMArguments(configuration);
-			String[] envp= getEnvironment(configuration);
-
-			if (ILaunchManager.PROFILE_MODE.equals(mode)) {
-				ServerProfiler[] sp = JavaServerPlugin.getServerProfilers();
-				if (sp == null || sp.length==0 || runner == null) {
-					genericServer.stopImpl();
-					throw new CoreException(new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.noProfiler, null));
-				}
-				String vmArgs2 = sp[0].getVMArgs(); //$NON-NLS-1$
-				vmArgs = vmArgs + " " + vmArgs2; //$NON-NLS-1$
-			}
-			ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
-
-			// VM-specific attributes
-			Map vmAttributesMap = getVMSpecificAttributesMap(configuration);
-
-			// Classpath
-			String[] classpath = getClasspath(configuration);
-
-			// Create VM config
-			VMRunnerConfiguration runConfig = new VMRunnerConfiguration(
-					mainTypeName, classpath);
-			runConfig.setProgramArguments(execArgs.getProgramArgumentsArray());
-			runConfig.setVMArguments(execArgs.getVMArgumentsArray());
-			runConfig.setWorkingDirectory(workingDirName);
-			runConfig.setEnvironment(envp);
-			runConfig.setVMSpecificAttributesMap(vmAttributesMap);
-
-			// Bootpath
-			String[] bootpath = getBootpath(configuration);
-			if (bootpath != null && bootpath.length > 0)
-				runConfig.setBootClassPath(bootpath);
-
-			setDefaultSourceLocator(launch, configuration);
-			// Launch the configuration
-			genericServer.startPingThread();
-			runner.run(runConfig, launch, monitor);
-			genericServer.setProcess(launch.getProcesses()[0]);
-		} catch (CoreException e) {
-			Trace.trace(Trace.SEVERE,"error launching generic server",e); //$NON-NLS-1$
-			genericServer.terminate();
-			throw e;
-		}
-	}
-
-	/**
-	 * Throws a core exception with the given message and optional
-	 * exception. The exception's status code will indicate an error.
-	 * 
-	 * @param message error message
-	 * @param exception cause of the error, or <code>null</code>
-	 * @exception CoreException with the given message and underlying
-	 *  exception
-	 */
-	protected void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, CorePlugin.getDefault().getBundle().getSymbolicName(), code, message, exception));
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
deleted file mode 100644
index 426eecb..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerLaunchableAdapterDelegate.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.net.URL;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.model.*;
-import org.eclipse.wst.server.core.util.HttpLaunchable;
-import org.eclipse.wst.server.core.util.WebResource;
-import org.eclipse.jst.server.core.EJBBean;
-import org.eclipse.jst.server.core.JndiLaunchable;
-import org.eclipse.jst.server.core.JndiObject;
-import org.eclipse.jst.server.core.Servlet;
-import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-/**
- * Launchable adapter delegate for generic servers.
- * @author Gorkem Ercan 
- */
-public class GenericServerLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
-	private static final String JAVA_NAMING_PROVIDER_URL_PROPKEY = "java.naming.provider.url"; //$NON-NLS-1$
-	private static final String JAVA_NAMING_FACTORY_INITIAL_PROPKEY = "java.naming.factory.initial"; //$NON-NLS-1$
-
-	/*
-	 * @see ILaunchableAdapterDelegate#getLaunchable(IServer, IModuleObject)
-	 */
-	public Object getLaunchable(IServer server, IModuleArtifact moduleObject) {
-		ServerDelegate delegate = (ServerDelegate)server.loadAdapter(ServerDelegate.class,null);
-		if (!(delegate instanceof GenericServer))
-			return null;
-		if ((moduleObject instanceof Servlet) ||(moduleObject instanceof WebResource))
-            return prepareHttpLaunchable(moduleObject, delegate);
-		
-        if((moduleObject instanceof EJBBean) || (moduleObject instanceof JndiObject))
-            return prepareJndiLaunchable(moduleObject,delegate);
-		return null;
-	}
-
-    private Object prepareJndiLaunchable(IModuleArtifact moduleObject, ServerDelegate delegate) {
-        JndiLaunchable launchable = null;
-        GenericServer genericServer = (GenericServer)delegate;
-        ServerRuntime definition = genericServer.getServerDefinition();
-        Properties props = new Properties();
-        props.put(JAVA_NAMING_FACTORY_INITIAL_PROPKEY,definition.getJndiConnection().getInitialContextFactory());
-        props.put(JAVA_NAMING_PROVIDER_URL_PROPKEY,definition.getJndiConnection().getProviderUrl());
-        List jps = definition.getJndiConnection().getJndiProperty();
-        Iterator propsIt =jps.iterator();
-        while(propsIt.hasNext()){
-            ArgumentPair prop = (ArgumentPair)propsIt.next();
-            props.put(prop.getName(),prop.getValue());
-        }
-        
-        if(moduleObject instanceof EJBBean)
-        {
-            EJBBean bean = (EJBBean)moduleObject;
-            launchable = new JndiLaunchable(props,bean.getJndiName());
-        }
-        if(moduleObject instanceof JndiObject)
-        {
-            JndiObject jndi = (JndiObject)moduleObject;
-            launchable = new JndiLaunchable(props,jndi.getJndiName());
-        }
-        return launchable;
-    }
-
-    /**
-     * @param moduleObject
-     * @param delegate
-     * @return object
-     */
-    private Object prepareHttpLaunchable(IModuleArtifact moduleObject, ServerDelegate delegate) {
-        try {
-			URL url = ((IURLProvider) delegate).getModuleRootURL(moduleObject.getModule());
-			
-			Trace.trace("root: " + url); //$NON-NLS-1$
-
-			if (moduleObject instanceof Servlet) {
-				Servlet servlet = (Servlet) moduleObject;
-				if (servlet.getAlias() != null) {
-					String path = servlet.getAlias();
-					if (path.startsWith("/")) //$NON-NLS-1$
-						path = path.substring(1);
-					url = new URL(url, path);
-				} else
-					url = new URL(url, "servlet/" + servlet.getServletClassName()); //$NON-NLS-1$
-			} else if (moduleObject instanceof WebResource) {
-				WebResource resource = (WebResource) moduleObject;
-				String path = resource.getPath().toString();
-				Trace.trace("path: " + path); //$NON-NLS-1$
-				if (path != null && path.startsWith("/") && path.length() > 0) //$NON-NLS-1$
-					path = path.substring(1);
-				if (path != null && path.length() > 0)
-					url = new URL(url, path);
-			} 
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			Trace.trace("Error getting URL for " + moduleObject, e); //$NON-NLS-1$
-			return null;
-		}
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntime.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntime.java
deleted file mode 100644
index 17e2d7e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntime.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.IJavaRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-/**
- * Generic server runtime support.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerRuntime extends RuntimeDelegate implements IJavaRuntime
-{
-	/**
-	 * Server definition attribute id in the server attributes
-	 */
-	public static final String SERVER_DEFINITION_ID = "server_definition_id"; //$NON-NLS-1$
-	/**
-	 * Server instance properties attribute id on server attributes
-	 */
-	public static final String SERVER_INSTANCE_PROPERTIES = "generic_server_instance_properties"; //$NON-NLS-1$	
-	private static final String PROP_VM_INSTALL_TYPE_ID = "vm-install-type-id"; //$NON-NLS-1$
-	private static final String PROP_VM_INSTALL_ID = "vm-install-id"; //$NON-NLS-1$
-
-
-	/**
-	 * Returns the vm type id
-	 * @return id
-	 */
-	public String getVMInstallTypeId() {
-		return getAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-	}
-	
-	/**
-	 * Is use default VM selected
-	 * @return boolean
-	 */
-	public boolean isUsingDefaultJRE() {
-		return getVMInstallTypeId() == null;
-	}
-
-
-	/**
-	 * Returns VM id
-	 * @return id
-	 */
-	public String getVMInstallId() {
-		return getAttribute(PROP_VM_INSTALL_ID, (String)null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.core.IGenericRuntime#getVMInstall()
-	 */
-	public IVMInstall getVMInstall() {
-		if (getVMInstallTypeId() == null)
-			return JavaRuntime.getDefaultVMInstall();
-		try {
-			IVMInstallType vmInstallType = JavaRuntime.getVMInstallType(getVMInstallTypeId());
-			IVMInstall[] vmInstalls = vmInstallType.getVMInstalls();
-			int size = vmInstalls.length;
-			String id = getVMInstallId();
-			for (int i = 0; i < size; i++) {
-				if (id.equals(vmInstalls[i].getId()))
-					return vmInstalls[i];
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-		return null;
-	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.core.IGenericRuntime#validate()
-	 */
-	public IStatus validate() {
-		if (getVMInstall() == null) {
-			return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.errorJRE, null);
-		}
-		ServerRuntime serverTypeDefinition = getServerTypeDefinition();
-        if(serverTypeDefinition == null) {
-		    return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0, GenericServerCoreMessages.errorNoServerType, null);
-        }
-		if(serverTypeDefinition.getClasspath()== null || serverTypeDefinition.getClasspath().size()<1) {
-            return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.errorNoClasspath,null);
-		}
-        return validateClasspaths(serverTypeDefinition);
-	}
-
-	/**
-	 * Checks all defined classpaths.
-	 */
-	protected IStatus validateClasspaths(ServerRuntime serverTypeDefinition) {
-		Iterator cpList  = serverTypeDefinition.getClasspath().iterator();
-        while (cpList.hasNext()) {
-			Classpath cpth = (Classpath) cpList.next();
-	        if(cpth.getArchive()== null || cpth.getArchive().size()<1)
-	            return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,GenericServerCoreMessages.errorNoClasspath,null);
-			Iterator archIter = cpth.getArchive().iterator();
-			while (archIter.hasNext()) {
-				ArchiveType arch = (ArchiveType) archIter.next();
-				String arcPath = serverTypeDefinition.getResolver().resolveProperties(arch.getPath());
-		           File f = new File(arcPath);
-		            if(f.exists()==false)
-		                return new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0 ,NLS.bind(GenericServerCoreMessages.errorMissingClasspathEntry,f.getPath()),null);	
-			}
-		}
-        return new Status(IStatus.OK, CorePlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the ServerTypeDefinition for this runtime. 
-	 * Populated with the user properties if exists. 
-	 * 
-	 * @return populated ServerTypeDefinition
-	 */
-	public ServerRuntime getServerTypeDefinition()
-	{
-	   String id=  getRuntime().getRuntimeType().getId();
-	   Map properties = getAttribute(SERVER_INSTANCE_PROPERTIES,(Map)null);
-	   if(id==null)
-	       return null;
-	   return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(id,properties);
-	}
-	
-	/**
-	 * SetVM to be used
-	 * @param vmInstall
-	 */
-	public void setVMInstall(IVMInstall vmInstall) {
-		if (vmInstall == null) {
-			setVMInstall(null, null);
-		} else
-			setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-	}
-	
-	private void setVMInstall(String typeId, String id) {
-		if (typeId == null)
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_TYPE_ID, typeId);
-		
-		if (id == null)
-			setAttribute(PROP_VM_INSTALL_ID, (String)null);
-		else
-			setAttribute(PROP_VM_INSTALL_ID, id);
-	}
-	
-	
-	/**
-	 * Return instance proerties
-	 * @return property map
-	 */
-	public Map getServerInstanceProperties() {
-		return getAttribute(SERVER_INSTANCE_PROPERTIES, new HashMap());
-	}
-	
-	/**
-	 * Returns serverdef id
-	 * @return serverdef id
-	 */
-	public String getServerDefinitionId() {
-		return getAttribute(SERVER_DEFINITION_ID, (String) null);
-	}
-	
-	/**
-	 * set instance properties
-	 * @param map
-	 */
-	public void setServerInstanceProperties(Map map) {
-		setAttribute(SERVER_INSTANCE_PROPERTIES, map);
-	}
-	
-	/**
-	 * Set serverdef id
-	 * @param s
-	 */
-	public void setServerDefinitionId(String s) {
-		setAttribute(SERVER_DEFINITION_ID, s);
-	}
-	
-	public void setDefaults(IProgressMonitor monitor) {
-		List props = this.getServerTypeDefinition().getProperty();
- 		Map instancePropsMap = new HashMap();
- 		for (Iterator iter = props.iterator(); iter.hasNext();) {
-			Property element = (Property) iter.next();
-			if(Property.CONTEXT_RUNTIME.equalsIgnoreCase(element.getContext()))
-				instancePropsMap.put(element.getId(), element.getDefault());
-		}
- 		setServerInstanceProperties(instancePropsMap);
-
-		
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntimeTargetHandler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntimeTargetHandler.java
deleted file mode 100644
index 2f468f5..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerRuntimeTargetHandler.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IRuntime;
-/**
- * Provides the Classpath containers to be added into project classpaths.
- *
- * @author Gorkem Ercan
- */
-public class GenericServerRuntimeTargetHandler extends RuntimeClasspathProviderDelegate {
-
-	/* (non-Javadoc)
-	 * @see ClasspathRuntimeTargetHandler#getClasspathContainerLabel(IRuntime, java.lang.String)
-	 */
-	public String getClasspathContainerLabel(IRuntime runtime, String id) {
-		ServerRuntime definition= ServerTypeDefinitionUtil.getServerTypeDefinition(runtime);
-		return definition.getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see ClasspathRuntimeTargetHandler#resolveClasspathContainer(IRuntime, java.lang.String)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime,String id){		
-		return resolveClasspathContainer(runtime);
-	}
-	/* (non-Javadoc)
-	 * @see ClasspathRuntimeTargetHandler#resolveClasspathContainer(IRuntime)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime){		
-		return ServerTypeDefinitionUtil.getServerClassPathEntry(runtime);
-	}
-    
-
-	/**
-	 * Read the classpath entries for the serverdef.
-	 * 
-	 * @param runtime
-	 * @param monitor
-	 * @return classpathEntries
-	 */
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		GenericServerRuntime genericRuntime = (GenericServerRuntime)runtime.loadAdapter(GenericServerRuntime.class, monitor);
-		if (genericRuntime == null)
-			return new IClasspathEntry[0];
-		IVMInstall vmInstall = genericRuntime.getVMInstall();
-		if (vmInstall != null) {
-			String name = vmInstall.getName();
-			String typeId = vmInstall.getVMInstallType().getId();
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(name)) };
-		}
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerSourcePathComputerDelegate.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerSourcePathComputerDelegate.java
deleted file mode 100644
index e5fa594..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/GenericServerSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerUtil;
-/**
- * SourcePathComputer for the GenericLaunchConfiguration.
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerSourcePathComputerDelegate implements ISourcePathComputerDelegate  {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		
-		IRuntimeClasspathEntry[] unresolvedEntries = JavaRuntime.computeUnresolvedSourceLookupPath(configuration);
-		List sourcefolderList = new ArrayList();
-		
-		IServer server =  ServerUtil.getServer(configuration);
-		IModule[] modules = server.getModules();
-		List javaProjectList = new ArrayList();
-		
-		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));
-				} else {
-					try {
-						if (project.hasNature(JavaCore.NATURE_ID)) {
-							IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
-							javaProjectList.add(javaProject);
-						}
-					} catch (Exception e) {
-						// ignore
-					}
-				}
-			}
-		}
-
-		IRuntimeClasspathEntry[] projectEntries = new IRuntimeClasspathEntry[javaProjectList.size()];
-		for (int i = 0; i < javaProjectList.size(); i++) {
-			projectEntries[i] = JavaRuntime.newProjectRuntimeClasspathEntry((IJavaProject)javaProjectList.get(i)); 
-		}
-		IRuntimeClasspathEntry[] entries =  new IRuntimeClasspathEntry[projectEntries.length+unresolvedEntries.length]; 
-		System.arraycopy(unresolvedEntries,0,entries,0,unresolvedEntries.length);
-		System.arraycopy(projectEntries,0,entries,unresolvedEntries.length,projectEntries.length);
-		
-		IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
-		ISourceContainer[] javaSourceContainers = JavaRuntime.getSourceContainers(resolved);
-		
-		if (!sourcefolderList.isEmpty()) {
-			ISourceContainer[] combinedSourceContainers = new ISourceContainer[javaSourceContainers.length + sourcefolderList.size()];
-			sourcefolderList.toArray(combinedSourceContainers);
-			System.arraycopy(javaSourceContainers, 0, combinedSourceContainers, sourcefolderList.size(), javaSourceContainers.length);
-			javaSourceContainers = combinedSourceContainers;
-		}
-		
-		return javaSourceContainers;
-		
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PingThread.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PingThread.java
deleted file mode 100644
index 159f0b0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PingThread.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.io.FileNotFoundException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.internal.ServerType;
-import org.eclipse.wst.server.core.util.SocketUtil;
-
-/**
- * Thread used to ping server to test when it is started.
- * 
- */
-public class PingThread {
-	// delay before pinging starts
-	private static final int PING_DELAY = 2000;
-
-	// delay between pings
-	private static final int PING_INTERVAL = 250;
-
-	// maximum number of pings before giving up
-	private int maxPings = 56; // total: 16 seconds + connection time
-
-	private boolean stop = false;
-	private String fUrl;
-	private IServer fServer;
-	private GenericServerBehaviour fGenericServer;
-
-	/**
-	 * Create a new PingThread.
-	 * 
-	 * @param server
-	 * @param url
-	 * @param genericServer
-	 */
-	public PingThread(IServer server, String url, GenericServerBehaviour genericServer) {
-		super();
-		this.fServer = server;
-		this.fUrl = url;
-		this.maxPings = guessMaxPings(genericServer);
-		this.fGenericServer = genericServer;
-		Thread t = new Thread() {
-			public void run() {
-				ping();
-			}
-		};
-		t.setDaemon(true);
-		t.start();
-	}
-    
-	private int guessMaxPings(GenericServerBehaviour server)
-    {
-    	int maxpings=60;
-    	int startTimeout = ((ServerType)server.getServer().getServerType()).getStartTimeout();
-    	if(startTimeout>0)
-    		maxpings=startTimeout/PING_INTERVAL;
-    	return maxpings;
-    }
-	private boolean isRemote(){
-		return (fServer.getServerType().supportsRemoteHosts()&& !SocketUtil.isLocalhost(fServer.getHost()) );
-	}
-	/**
-	 * Ping the server until it is started. Then set the server
-	 * state to STATE_STARTED.
-	 */
-	protected void ping() {
-		int count = 0;
-		try {
-			Thread.sleep(PING_DELAY);
-		} catch (Exception e) {
-			// ignore
-		}
-		while (!stop) {
-			try {
-				if (count == maxPings && !isRemote()) {
-					try {
-						fServer.stop(false);
-					} catch (Exception e) {
-						Trace.trace(Trace.FINEST, "Ping: could not stop server"); //$NON-NLS-1$
-					}
-					stop = true;
-					break;
-				}
-				if(!isRemote())
-					count++;
-				
-				Trace.trace(Trace.FINEST, "Ping: pinging"); //$NON-NLS-1$
-				URL pingUrl = new URL(fUrl);
-				URLConnection conn = pingUrl.openConnection();
-				((HttpURLConnection)conn).getResponseCode();
-	
-				// ping worked - server is up
-				if (!stop) {
-					Trace.trace(Trace.FINEST, "Ping: success"); //$NON-NLS-1$
-					Thread.sleep(200);
-					fGenericServer.setServerStarted();
-				}
-				if(!isRemote())
-					stop = true;
-			} catch (FileNotFoundException fe) {
-				try {
-					Thread.sleep(200);
-				} catch (Exception e) {
-					// ignore
-				}
-				fGenericServer.setServerStarted();
-				if(!isRemote())
-					stop = true;
-			} catch (Exception e) {
-				Trace.trace(Trace.FINEST, "Ping: failed"); //$NON-NLS-1$
-				// pinging failed
-				if (!stop) {
-					try {
-						Thread.sleep(PING_INTERVAL);
-					} catch (InterruptedException e2) {
-						// ignore
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Tell the pinging to stop.
-	 */
-	public void stop() {
-		Trace.trace(Trace.FINEST, "Ping: stopping"); //$NON-NLS-1$
-		stop = true;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PublishManager.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PublishManager.java
deleted file mode 100644
index 00272fe..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/PublishManager.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-
-/**
- * Utility for managing generic publishers.
- *
- * @author Gorkem Ercan
- */
-public class PublishManager 
-{
-   /**
-     * Returns the generic publisher for given ID
-     * @param id
-     * @return publisher
-     */
-    public static GenericPublisher getPublisher(String id) 
-    {
-        IExtension[] extensions = ExtensionPointUtil.getGenericPublisherExtension();
-        try {
-            for (int i = 0; i < extensions.length; i++) {
-                IConfigurationElement[] configs = ExtensionPointUtil.getConfigurationElements(extensions[i]);
-                for (int j = 0; j < configs.length; j++) {
-                    if(configs[j].getAttribute("id").equals(id)) { //$NON-NLS-1$
-                        return (GenericPublisher)configs[j].createExecutableExtension("class"); //$NON-NLS-1$
-                      }
-                }
-            }
-        }catch(CoreException e){
-            //ignored
-        }
-        return null;
-    }
-
-     
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionManager.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionManager.java
deleted file mode 100644
index 7e378df..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionManager.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IExtensionDelta;
-import org.eclipse.core.runtime.IRegistryChangeEvent;
-import org.eclipse.core.runtime.IRegistryChangeListener;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-import org.eclipse.jst.server.generic.internal.xml.XMLUtils;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-/**
- * Manages the retrieaval of ServerTypeDefinitions.
- * 
- * @author Gorkem Ercan
- */
-
-public class ServerTypeDefinitionManager 
-{
-	private XMLUtils fXmlUtils;
-	
-	private class RegistryChangeListener implements IRegistryChangeListener{
-		public void registryChanged(IRegistryChangeEvent event) {
-			IExtensionDelta[] deltas = event.getExtensionDeltas(CorePlugin.PLUGIN_ID, ExtensionPointUtil.SERVERDEFINITION_EXTENSION_ID);
-			if(deltas!=null && deltas.length>0){
-				handleServerDefinitionsChanged();
-			}
-		}		
-	}
-	
-	protected ServerTypeDefinitionManager(URL serverDefinitionURL){
-		super();
-		fXmlUtils = new XMLUtils();
-		ExtensionPointUtil.addRegistryListener(new RegistryChangeListener());
-	}
-
-	/**
-	 * Returns the ServerRuntime that represents the .serverdef file
-	 * for a given runtime type.
-	 * @param id runtime type id
-	 * @param properties user provided properties
-	 * @return server runtime that is initialized with user properties 
-	 */
-	public ServerRuntime getServerRuntimeDefinition(String id, Map properties){
-		ServerRuntime definition =  fXmlUtils.getServerTypeDefinition(id);
-		if(definition !=null)
-            definition.setPropertyValues(properties);
-		return definition;
-	}
-	
-	/**
-	 * Returns all the ServerRuntimes registered a .serverdef.
-	 * @return serverRuntimes
-	 */
-	public ServerRuntime[] getServerTypeDefinitions(){
-		 List definitionList = fXmlUtils.getServerTypeDefinitions();
-		 return (ServerRuntime[])definitionList.toArray(new ServerRuntime[definitionList.size()]);
-	}
-	
-	private void handleServerDefinitionsChanged(){	
-		XMLUtils utils = new XMLUtils();
-		fXmlUtils = utils;
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionUtil.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionUtil.java
deleted file mode 100644
index d45d6a3..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ServerTypeDefinitionUtil.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-package org.eclipse.jst.server.generic.core.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IRuntime;
-
-/**
- * Utilities for ServerRuntime definition files.
- *
- * @author Gorkem Ercan
- */
-public class ServerTypeDefinitionUtil 
-{
-	/**
-	 * Returns the server definition for runtime.
-	 * @param runtime
-	 * @return serverRuntime
-	 */
-	public static ServerRuntime getServerTypeDefinition(IRuntime runtime)
-	{
-		if(runtime==null)
-			return null;
-	    GenericServerRuntime delegate = (GenericServerRuntime)runtime.loadAdapter(GenericServerRuntime.class,null);
-	    if(delegate==null)
-	    	return null;
-		String serverType = delegate.getRuntime().getRuntimeType().getId();
-		Map properties = delegate.getServerInstanceProperties();
-		ServerRuntime definition = 
-			CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(serverType,properties);
-		return definition;
-	}
-	/**
-	 * Extracts the server classpath entry array.
-	 *
-	 * @param runtime
-	 * @return classpathEntry
-	 */
-	public static IClasspathEntry[] getServerClassPathEntry(IRuntime runtime)
-	{
-		ServerRuntime definition = getServerTypeDefinition(runtime);
-		if(definition==null)
-			return null;
-		String ref = definition.getProject().getClasspathReference();
-		Classpath cp = definition.getClasspath(ref);
-		Iterator archives = cp.getArchive().iterator();
-		ArrayList entryList = new ArrayList();
-		while (archives.hasNext()) {
-			ArchiveType archive = (ArchiveType) archives.next();
-			String item = definition.getResolver().resolveProperties(archive.getPath());
-			IClasspathEntry entry = JavaCore.newLibraryEntry(new Path(item),null,null );
-			entryList.add(entry);
-		}
-		return (IClasspathEntry[])entryList.toArray(new IClasspathEntry[entryList.size()]);
-	}
-	/**
-	 * Given the serverDefinition and module returns the publisher id 
-	 * that handles the publishing of module type for this serverDefinition.
-	 * @param module
-	 * @param serverDefinition
-	 * @return publisher id
-	 */
-	public static String getPublisherID(IModule module, ServerRuntime serverDefinition)
-	{
-		if(module==null || module.getModuleType()== null)
-			return null;
-		Module m = serverDefinition.getModule(module.getModuleType().getId());
-		return m.getPublisherReference();
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/Trace.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/Trace.java
deleted file mode 100644
index 385cbac..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/Trace.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal;
-
-
-/**
- * Helper class to route trace output.
- */
-public class Trace {
-	/**
-	 * Trace level CONFIG
-	 */
-	public static byte CONFIG = 0;
-	/**
-	 * Trace level WARNING
-	 */
-	public static byte WARNING = 1;
-	/**
-	 * Trace level SEVERE
-	 */
-	public static byte SEVERE = 2;
-	/**
-	 * Trace level FINEST
-	 */
-	public static byte FINEST = 3;
-	/**
-	 * Trace level FINER
-	 */
-	public static byte FINER = 4;
-	
-	/**
-	 * Trace constructor comment.
-	 */
-	private Trace() {
-		super();
-	}
-	
-	/**
-	 * Trace the given text.
-	 * 
-	 * @param level trace level constant
-	 * @param s java.lang.String
-	 */
-	public static void trace(byte level, String s) {
-		Trace.trace(level, s, null);
-	}
-	
-	/**
-	 * Trace the given message and exception.
-	 * @param level trace level constant
-	 * @param s java.lang.String
-	 * @param t java.lang.Throwable
-	 */
-	public static void trace(byte level, String s, Throwable t) {
-		if (!CorePlugin.getDefault().isDebugging())
-			return;
-
-		System.out.println(s);
-		if (t != null)
-			t.printStackTrace();
-	}
-	
-	/**
-	 * Trace the given text.
-	 *
-	 * @param s java.lang.String
-	 */
-	public static void trace(String s) {
-		trace(s, null);
-	}
-	
-	/**
-	 * Trace the given exception.
-	 *
-	 * @param s java.lang.String
-	 * @param t throwable
-	 */
-	public static void trace(String s, Throwable t) {
-		trace(FINEST, s, t);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AbstractModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AbstractModuleAssembler.java
deleted file mode 100644
index 89b97ea..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AbstractModuleAssembler.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-			
-import java.io.File;
-import java.io.IOException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.PublishUtil;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.model.IModuleFolder;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.util.ProjectModule;
-
-/**
- * Base class for module assemblers
- * 
- * @author Gorkem Ercan
- */
-public abstract class AbstractModuleAssembler {
-
-	protected ServerRuntime fServerdefinition;
-	protected IModule fModule; 
-	protected GenericServer fServer;
-	
-	/**
-	 * Assemble the module.
-	 * 
-	 * @param monitor
-	 * @throws CoreException
-	 */
-	protected abstract IPath assemble(IProgressMonitor monitor) throws CoreException;
-
-	
-	/**
-	 * Factory for creating concrete module assemblers for 
-	 * corressponding module types.
-	 *
-	 */
-	public static class Factory {		
-		/**
-		 * Returns a concrete module assembler
-		 * 
-		 * @param module
-		 * @param server
-		 * @return assembler
-		 */
-		public static AbstractModuleAssembler getModuleAssembler(IModule module, GenericServer server)
-		{
-			
-			if(isModuleType(module, "jst.web")) //$NON-NLS-1$
-				return new WarModuleAssembler(module,server);
-			if(isModuleType(module, "jst.ear")) //$NON-NLS-1$
-				return new EarModuleAssembler(module,server);
-			return new DefaultModuleAssembler(module,server);
-		}
-		
-		private static boolean isModuleType(IModule module, String moduleTypeId){	
-			if(module.getModuleType()!=null && moduleTypeId.equals(module.getModuleType().getId()))
-				return true;
-			return false;
-		}
-	}
-	
-	protected void packModule(IModule module, String deploymentUnitName, IPath destination)throws CoreException {
-		
-	
-		String dest = destination.append(deploymentUnitName).toString();
-		ModulePackager packager = null;
-		try {
-			packager = new ModulePackager(dest, false);
-			ProjectModule pm = (ProjectModule) module.loadAdapter(ProjectModule.class, null);
-			IModuleResource[] resources = pm.members();
-			for (int i = 0; i < resources.length; i++) {
-				doPackModule(resources[i], packager);
-			}
-		} catch (IOException e) {
-			IStatus status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0,
-					"unable to assemble module", e); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-		finally{
-			try{
-				packager.finished();
-			}
-			catch(IOException e){
-				//unhandled
-			}
-		}
-	}
-
-	private void doPackModule(IModuleResource resource, ModulePackager packager) throws CoreException, IOException{
-			if (resource instanceof IModuleFolder) {
-				IModuleFolder mFolder = (IModuleFolder)resource;
-				IModuleResource[] resources = mFolder.members();
-				if(resources==null || resources.length==0){
-					packager.writeFolder(resource.getModuleRelativePath().append(resource.getName()).toPortableString());
-				}
-				for (int i = 0; resources!= null && i < resources.length; i++) {
-					doPackModule(resources[i], packager);
-				}
-			} else {
-				String destination = resource.getModuleRelativePath().append(resource.getName()).toPortableString();
-				IFile file = (IFile) resource.getAdapter(IFile.class);
-				if (file != null)
-					packager.write(file, destination);
-				else {
-					File file2 = (File) resource.getAdapter(File.class);
-					packager.write(file2, destination);
-				}
-			}
-	}
-
-	protected IPath copyModule(IModule module,IProgressMonitor monitor)throws CoreException{
-		ProjectModule pm =(ProjectModule)module.loadAdapter(ProjectModule.class, monitor);
-		IPath to = getProjectWorkingLocation().append(pm.getId());
-		PublishUtil.smartCopy(pm.members(), to, monitor);
-		return to;
-	}
-	
-	private IPath getProjectWorkingLocation(){
-		return ServerPlugin.getInstance().getTempDirectory(fServer.getServer().getId());
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java
deleted file mode 100644
index 7d5b5e7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.core.internal.GenericPublisher;
-import org.eclipse.jst.server.generic.core.internal.GenericServerCoreMessages;
-import org.eclipse.jst.server.generic.internal.core.util.FileUtil;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-import org.eclipse.jst.server.generic.servertype.definition.PublisherData;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.osgi.framework.Bundle;
-/**
- * Ant based publisher.
- * All the properties defined in the server definition file are
- * passed into the ANT build file as properties.
- * In addition to the properties defined in the server definition
- * <I>module.dir</I>, <I>module.name,</I> and <I>server.publish.dir</I> are computed and passed to the 
- * definition file.
- * <ul>
- * <li>module.dir: includes the root of the module project file</li>
- * <li>module.name: the name of the module</li>
- * <li>server.publish.dir: the directory to put the deployment units</li>
- * <li>project.working.dir: the working dir of the project that deployed module is in</li>
- * </ul>
- *
- * @author Gorkem Ercan
- */
-
-public class AntPublisher extends GenericPublisher{
-	private static final String JAR_PROTOCOL_PREFIX = "jar"; //$NON-NLS-1$
-
-	/**
-	 * publisher id for ANT publisher.
-	 */
-	public static final String PUBLISHER_ID="org.eclipse.jst.server.generic.antpublisher"; //$NON-NLS-1$
-    
-	private static final String PROP_SERVER_PUBLISH_DIR = "server.publish.dir";//$NON-NLS-1$
-	private static final String PROP_PROJECT_WORKING_DIR= "project.working.dir";//$NON-NLS-1$
-	private static final String PROP_MODULE_DIR = "module.dir";//$NON-NLS-1$
-	private static final String PROP_MODULE_NAME = "module.name";//$NON-NLS-1$
-	private static final String PROP_PROJECT_NAME = "project.name";//$NON-NLS-1$
-	private static final String MODULE_PUBLISH_TARGET_PREFIX = "target.publish."; //$NON-NLS-1$
-	private static final String MODULE_UNPUBLISH_TARGET_PREFIX = "target.unpublish.";//$NON-NLS-1$
-	private static final String DATA_NAME_BUILD_FILE="build.file";//$NON-NLS-1$
-	
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.wtp.server.core.model.IPublisher#publish(org.eclipse.wtp.server.core.resources.IModuleResource[], org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus[] publish(IModuleArtifact[] resource, IProgressMonitor monitor){
-		if(getModule().length>1)// only respond to root module calls. 
-			return null;
-		try{
-			if(monitor.isCanceled())
-				return null;
-			assembleModule(monitor);
-        	File file = computeBuildFile();
-        	if(monitor.isCanceled())
-        		return null;
-        	runAnt(file.toString(),getPublishTargetsForModule(),getPublishProperties(),monitor);
-        }catch(CoreException e){
-            IStatus s = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,GenericServerCoreMessages.errorPublishAntpublisher,e);
-            CorePlugin.getDefault().getLog().log(s);
-            return new IStatus[] {s};
-        }
-		return null;
-	}
-
-	private void assembleModule(IProgressMonitor monitor)throws CoreException{
-		AbstractModuleAssembler assembler= AbstractModuleAssembler.Factory.getModuleAssembler(getModule()[0], getServer());
-		assembler.assemble(monitor);
-	}
-
-    /**
-     * 
-     * @return file
-     * @throws CoreException
-     */
-    private File computeBuildFile() throws CoreException {
-        Bundle bundle = Platform.getBundle(getServerRuntime().getServerTypeDefinition().getConfigurationElementNamespace());
-        URL bundleUrl =bundle.getEntry(getBuildFile());
-        URL fileURL = FileUtil.resolveURL(bundleUrl);
-        if(fileURL.getProtocol().equals(JAR_PROTOCOL_PREFIX)){
-        	OutputStream os=null;
-        	InputStream is=null; 
-        	try{
-        		String filename =fileURL.getPath();
-        		String jarname= fileURL.getFile().substring(0,filename.indexOf('!'));
-        		
-        		File jarFile = new File(new URL(jarname).getFile());
-        		JarFile jar = new JarFile(jarFile);
-        		File tmpFile = FileUtil.createTempFile(getBuildFile(),CorePlugin.getDefault().getStateLocation().toOSString());
-        		os = new FileOutputStream(tmpFile);
-        		String entryname= getBuildFile();
-        		if (entryname.startsWith("/"))//$NON-NLS-1$
-        			entryname= entryname.substring(1);
-        		JarEntry entry = jar.getJarEntry(entryname);
-        		is =jar.getInputStream(entry);
-        		FileUtil.copy(is,os);
-        		return tmpFile;
-         	}
-        	catch (IOException e) {
-        		IStatus s = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,"error creating temporary build file",e);//$NON-NLS-1$
-                CorePlugin.getDefault().getLog().log(s);
-				throw new CoreException(s);
-			}
-        	finally{
-        		try {
-        			if(is!=null)
-        				is.close();
-					if(os!=null)
-						os.close();
-				} catch (IOException e) {
-					//ignore
-				}
-        	}
-        }
-        else{
-        	return FileUtil.resolveFile(fileURL);
-        } 	
-    }
-   
-
-    private String getPublishTargetsForModule() {
-    	return doGetTargets(MODULE_PUBLISH_TARGET_PREFIX+getModuleTypeId());
-    }
-
-    private String getUnpublishTargetsForModule() {
-        return doGetTargets(MODULE_UNPUBLISH_TARGET_PREFIX+getModuleTypeId());
-    }
-    
-    private String doGetTargets(String dataname) {
-    	StringBuffer buffer = new StringBuffer();
-    	Iterator iterator = getServerRuntime().getServerTypeDefinition().getPublisher(PUBLISHER_ID).getPublisherdata().iterator();
-        while(iterator.hasNext()){
-            PublisherData data = (PublisherData)iterator.next();
-            if(dataname.equals(data.getDataname())) {
-                if(buffer.length()>0)
-                	buffer.append(",");//$NON-NLS-1$
-            	buffer.append(data.getDatavalue());
-            }   
-        }
-        return buffer.toString();
-    }
-
-    private String getModuleTypeId(){
-        return getModule()[0].getModuleType().getId();
-    }
-    
-	private String getBuildFile()
-    {
-        Iterator iterator = getServerRuntime().getServerTypeDefinition().getPublisher(PUBLISHER_ID).getPublisherdata().iterator();
-        while(iterator.hasNext())
-        {
-            PublisherData data = (PublisherData)iterator.next();
-            if(DATA_NAME_BUILD_FILE.equals(data.getDataname()))
-                return getServerRuntime().getServerTypeDefinition().getResolver().resolveProperties(data.getDatavalue());
-        }
-        return null;
-    }
-	
-	private Map getPublishProperties()
-	{
-        Map props = new HashMap();
-        // pass all properties to build file.
-        Map serverProperties = getServer().getServerInstanceProperties();
-        Map properties = getServerRuntime().getServerInstanceProperties();
-        properties.putAll(serverProperties);
-        Iterator propertyIterator = properties.keySet().iterator();
-        while(propertyIterator.hasNext())
-        {
-            String property = (String)propertyIterator.next();
-            String value = (String)properties.get(property);
-            if(value!=null && value.trim().length()>0)
-            	props.put(property,properties.get(property));
-        }
-        Module module =  getServerRuntime().getServerTypeDefinition().getModule(getModuleTypeId());
-		String modDir = module.getPublishDir();
-		modDir = getServerRuntime().getServerTypeDefinition().getResolver().resolveProperties(modDir);
-		IModule webModule = getModule()[0];
-		
-        String moduleName=guessModuleName(webModule);
-        props.put(PROP_PROJECT_WORKING_DIR,getProjectWorkingLocation().toString());
-		props.put(PROP_MODULE_NAME,moduleName);
-		if(webModule.getProject()!=null){
-			props.put(PROP_MODULE_DIR,getModuleWorkingDir().toString());
-		    props.put(PROP_PROJECT_NAME,webModule.getProject().getName());
-		}
-		props.put(PROP_SERVER_PUBLISH_DIR,modDir);
-		return props;
-	}
-	
-	private IPath getModuleWorkingDir(){
-		return getProjectWorkingLocation().append(getModule()[0].getProject().getName());
-	}
-
-	private IPath getProjectWorkingLocation(){
-		return ServerPlugin.getInstance().getTempDirectory(getServer().getServer().getId());
-	}
-	
-	private String guessModuleName(IModule module) {
-		String moduleName = module.getName(); 
-		if("jst.web".equals(getModuleTypeId())){ //$NON-NLS-1$
-			IWebModule webModule = (IWebModule)getModule()[0].loadAdapter(IWebModule.class,null);
-			if(webModule==null)
-			{
-				return module.getName();
-			}
-			String contextRoot = webModule.getURI(module);
-			//TODO we should really pass the full uri including the file extension in the future
-			moduleName = contextRoot.substring(0,contextRoot.lastIndexOf('.'));
-			}
-		return moduleName;
-		}
-
-
-
-	private void runAnt(String buildFile,String targets,Map properties ,IProgressMonitor monitor)throws CoreException{
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType type = launchManager.getLaunchConfigurationType(IAntLaunchConfigurationConstants.ID_ANT_LAUNCH_CONFIGURATION_TYPE);
-		if(type==null){
-			IStatus s = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,GenericServerCoreMessages.antLauncherMissing,null);
-			throw new CoreException(s);
-		}
-		ILaunchConfigurationWorkingCopy wc= type.newInstance(null,properties.get(PROP_MODULE_NAME)+" module publisher"); //$NON-NLS-1$
-		wc.setContainer(null);
-		wc.setAttribute(IExternalToolConstants.ATTR_LOCATION, buildFile);
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER,"org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-		wc.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS,targets);
-		wc.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES,properties);
-		wc.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND,false);
-		wc.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE,true);
-		wc.setAttribute(IDebugUIConstants.ATTR_PRIVATE,true);
-		
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider");  //$NON-NLS-1$
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME,getServerRuntime().getVMInstall().getName());
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE,getServerRuntime().getVMInstall().getVMInstallType().getId());
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.eclipse.ant.internal.ui.antsupport.InternalAntRunner"); //$NON-NLS-1$
-		wc.setAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID, IAntUIConstants.REMOTE_ANT_PROCESS_FACTORY_ID);
-		
-		setupAntLaunchConfiguration(wc);
-		
-		
-		ILaunchConfiguration launchConfig = wc.doSave();
-        launchConfig.launch("run",monitor); //$NON-NLS-1$
-	}
-
-
-
-  /**
-   * Hook method for subclasses.
-   * 
-   * @param wc
-   */
-    protected void setupAntLaunchConfiguration(ILaunchConfigurationWorkingCopy wc) {
-    	//nothing to do
-	}
-
-	/* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.core.GenericPublisher#unpublish(org.eclipse.wst.server.core.IModule, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public IStatus[] unpublish(IProgressMonitor monitor) {
-
-    	if(getModule().length>1)// only respond to root module calls. 
-			return null;
-    	try {
-        	 File file = computeBuildFile();
-            runAnt(file.toString(),getUnpublishTargetsForModule(),getPublishProperties(),monitor);
-        } catch (CoreException e) {
-            IStatus s = new Status(IStatus.ERROR,CorePlugin.PLUGIN_ID,0,GenericServerCoreMessages.errorRemoveModuleAntpublisher,e);
-            return new IStatus[] {s};
-        }
-        return null;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/DefaultModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/DefaultModuleAssembler.java
deleted file mode 100644
index d0937e5..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/DefaultModuleAssembler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.wst.server.core.IModule;
-
-/**
- * Default module assembler that basically copies the contents.
- * @author Gorkem Ercan
- */
-public class DefaultModuleAssembler extends AbstractModuleAssembler {
-	
-	protected DefaultModuleAssembler(IModule module, GenericServer server)
-	{
-		fModule=module;
-		fServerdefinition=server.getServerDefinition();
-		fServer=server;
-	}
-	
-	
-	protected IPath assemble(IProgressMonitor monitor) throws CoreException {
-		return copyModule(fModule,monitor);		
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java
deleted file mode 100644
index 4ca8e8d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.wst.server.core.IModule;
-
-/**
- * Utility for EAR module assembly.
- */
-public class EarModuleAssembler extends AbstractModuleAssembler {
-
-	protected EarModuleAssembler(IModule module, GenericServer server)
-	{
-		fModule=module;
-		fServerdefinition=server.getServerDefinition();
-		fServer=server;
-	}
-
-	protected IPath assemble(IProgressMonitor monitor) throws CoreException{
-		IPath parent =copyModule(fModule,monitor);
-		IEnterpriseApplication earModule = (IEnterpriseApplication)fModule.loadAdapter(IEnterpriseApplication.class, monitor);
-		IModule[] childModules = earModule.getModules();
-		for (int i = 0; i < childModules.length; i++) {
-			IModule module = childModules[i];
-			String uri = earModule.getURI(module);
-			if(uri==null){
-				IStatus status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0,	"unable to assemble module null uri",null ); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-				
-			packModule(module,uri, parent);
-		}
-		return parent;
-	}
-	
-	protected void packModule(IModule module, String deploymentUnitName, IPath destination) throws CoreException {
-		if(module.getModuleType().getId().equals("jst.web")) //$NON-NLS-1$
-		{
-			AbstractModuleAssembler assembler= AbstractModuleAssembler.Factory.getModuleAssembler(module, fServer);
-			IPath webAppPath = assembler.assemble(new NullProgressMonitor());
-			String realDestination = destination.append(deploymentUnitName).toString();
-			ModulePackager packager=null;
-			try {
-				packager =new ModulePackager(realDestination,false);
-				packager.pack(webAppPath.toFile(),webAppPath.toOSString());
-			
-			} catch (IOException e) {
-				IStatus status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0,
-						"unable to assemble module", e); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-			finally{
-				if(packager!=null)
-				{
-					
-					try {
-						packager.finished();
-					} catch (IOException e) {
-						// Unhandled
-					}
-				}
-				
-			}
-			
-			
-		}
-		else
-		{
-			super.packModule(module, deploymentUnitName, destination);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/ModulePackager.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/ModulePackager.java
deleted file mode 100644
index 07b8f77..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/ModulePackager.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/***************************************************************************************************
-* Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-* accompanying materials are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-* 
-* Contributors: Gorkem Ercan - initial API and implementation
-*               
-**************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-
-/**
- * Packages resources to a .zip file
- */
-public class ModulePackager {
-	private ZipOutputStream outputStream;
-//	private StringBuffer manifestContents;
-
-	private boolean useCompression = true;
-
-	/**
-	 * Create an instance of this class.
-	 * 
-	 * @param filename java.lang.String
-	 * @param compress boolean
-	 * @exception java.io.IOException
-	 */
-	public ModulePackager(String filename, boolean compress) throws IOException {
-		Path directoryPath = new Path(filename);
-		directoryPath = (Path) directoryPath.removeLastSegments(1);
-		File newZipFile = new File(directoryPath.toString());
-		newZipFile.mkdirs();
-		outputStream = new ZipOutputStream(new FileOutputStream(filename));
-		useCompression = compress;
-	}
-
-	/**
-	 * Do all required cleanup now that we're finished with the currently-open .zip
-	 * 
-	 * @exception java.io.IOException
-	 */
-	public void finished() throws IOException {
-		outputStream.close();
-	}
-
-	/**
-	 * Create a new ZipEntry with the passed pathname and contents, and write it to the current
-	 * archive
-	 * 
-	 * @param pathname
-	 *            java.lang.String
-	 * @param contents
-	 *            byte[]
-	 * @exception java.io.IOException
-	 */
-	protected void write(String pathname, byte[] contents) throws IOException {
-		ZipEntry newEntry = new ZipEntry(pathname);
-
-		// if the contents are being compressed then we get the below for free.
-		if (!useCompression) {
-			newEntry.setMethod(ZipEntry.STORED);
-			newEntry.setSize(contents.length);
-			CRC32 checksumCalculator = new CRC32();
-			checksumCalculator.update(contents);
-			newEntry.setCrc(checksumCalculator.getValue());
-		}
-
-		outputStream.putNextEntry(newEntry);
-		outputStream.write(contents);
-		outputStream.closeEntry();
-	}
-
-	/**
-	 * @param destinationPath
-	 * @throws IOException
-	 */
-	public void writeFolder(String destinationPath) throws IOException {
-		if (!destinationPath.endsWith("/")) //$NON-NLS-1$
-			destinationPath = destinationPath + '/';
-		ZipEntry newEntry = new ZipEntry(destinationPath);
-		outputStream.putNextEntry(newEntry);
-		outputStream.closeEntry();
-	}
-
-	/**
-	 * Write the passed resource to the current archive
-	 * 
-	 * @param resource
-	 *            org.eclipse.core.resources.IFile
-	 * @param destinationPath
-	 *            java.lang.String
-	 * @exception java.io.IOException
-	 * @exception org.eclipse.core.runtime.CoreException
-	 */
-	public void write(IFile resource, String destinationPath) throws IOException, CoreException {
-		InputStream contentStream = null;
-		try {
-			contentStream = resource.getContents(false);
-			write(contentStream, destinationPath);
-		} finally {
-			if (contentStream != null)
-				contentStream.close();
-		}
-	}
-
-	/**
-	 * Write the passed resource to the current archive
-	 * 
-	 * @param resource
-	 *            java.io.IFile
-	 * @param destinationPath
-	 *            java.lang.String
-	 * @exception java.io.IOException
-	 * @exception org.eclipse.core.runtime.CoreException
-	 */
-	public void write(File resource, String destinationPath) throws IOException, CoreException {
-		InputStream contentStream = null;
-		try {
-			contentStream = new FileInputStream(resource);
-			write(contentStream, destinationPath);
-		} finally {
-			if (contentStream != null)
-				contentStream.close();
-		}
-	}
-
-	/**
-	 * @param contentStream
-	 * @param destinationPath
-	 * @throws IOException
-	 * @throws CoreException
-	 */
-	public void write(InputStream contentStream, String destinationPath) throws IOException, CoreException {
-		ByteArrayOutputStream output = null;
-
-		try {
-			output = new ByteArrayOutputStream();
-			int chunkSize = contentStream.available();
-			byte[] readBuffer = new byte[chunkSize];
-			int n = contentStream.read(readBuffer);
-
-			while (n > 0) {
-				output.write(readBuffer);
-				n = contentStream.read(readBuffer);
-			}
-		} finally {
-			if (output != null)
-				output.close();
-		}
-
-		write(destinationPath, output.toByteArray());
-	}
-	
-	/**
-	 * pack directory relative to root
-	 * @param directory
-	 * @param root
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public void pack(File directory, String root) throws CoreException, IOException
-	{
-		File[] files = directory.listFiles();
-		for(int i=0; i<files.length;i++)
-		{
-			if(files[i].isDirectory())
-			{
-				String relativeFolder=makeRelative(files[i].getAbsolutePath(), root);
-				if(relativeFolder!=null){//should always be true
-					writeFolder(relativeFolder);
-				}
-				pack(files[i], root);
-			}
-			else{
-				String relativeFolder=makeRelative(files[i].getAbsolutePath(), root);
-				if(relativeFolder!=null){//should always be true
-					write(files[i],relativeFolder);
-				}
-			}
-		}
-		
-		
-	}
-	/**
-	 * Make directoryname relative to root
-	 * @param fileName
-	 * @param root
-	 * @return
-	 */
-	private String makeRelative(String fileName, String root)
-	{
-		String folder=null;
-		if(fileName.startsWith(root))
-		{
-			folder=fileName.substring(root.length());
-		}
-		return folder;
-		
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/WarModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/WarModuleAssembler.java
deleted file mode 100644
index 19d99ce..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/WarModuleAssembler.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.core.internal.publishers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.wst.server.core.IModule;
-
-/**
- * Assembly utility for war modules.
- * 
- */
-public class WarModuleAssembler extends AbstractModuleAssembler {
-	
-	protected WarModuleAssembler(IModule module, GenericServer server)
-	{
-		fModule=module;
-		fServerdefinition=server.getServerDefinition();
-		fServer=server;
-	}
-
-	protected IPath assemble(IProgressMonitor monitor) throws CoreException{
-		IPath parent =copyModule(fModule,monitor);
-		IWebModule webModule = (IWebModule)fModule.loadAdapter(IWebModule.class, monitor);
-		IModule[] childModules = webModule.getModules();
-		for (int i = 0; i < childModules.length; i++) {
-			IModule module = childModules[i];
-			packModule(module, webModule.getURI(module), parent);
-		}
-		return parent;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/ExtensionPointUtil.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/ExtensionPointUtil.java
deleted file mode 100644
index cedf0ed..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/ExtensionPointUtil.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.core.util;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IRegistryChangeListener;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-
-/**
- * Utilities for handling the extension points.
- *
- * @author Gorkem Ercan
- */
-public class ExtensionPointUtil {
-    /**
-     * serverdefinition extension id
-     */
-    public static final String SERVERDEFINITION_EXTENSION_ID = "serverdefinition"; //$NON-NLS-1$
-    private static final String GENERICPUBLISHER_EXTENSION_ID = "genericpublisher"; //$NON-NLS-1$
-
-    /**
-     * Returns serverdefinition extensions
-     * @return serverdefinitionExtensions
-     */
-    public static IExtension[] getGenericServerDefinitionExtensions(){
-        return getExtensions(CorePlugin.PLUGIN_ID+"."+SERVERDEFINITION_EXTENSION_ID); //$NON-NLS-1$
-    }
-    
-    /**
-     * Returns publisher extensions
-     * @return genericpublisher extensions
-     */
-    public static IExtension[] getGenericPublisherExtension(){
-        return getExtensions(CorePlugin.PLUGIN_ID+"."+GENERICPUBLISHER_EXTENSION_ID); //$NON-NLS-1$
-    }
-
-    private static IExtension[] getExtensions(String extensionId){
-        IExtensionPoint extensionPoint=getExtensionPoint(extensionId);
-        IExtension[] extensions = extensionPoint.getExtensions();
-        return extensions;
-    }
- 
-    private static IExtensionPoint getExtensionPoint(String id)
-    {
-        IExtensionRegistry registry = Platform.getExtensionRegistry();
-        IExtensionPoint extensionPoint= registry.getExtensionPoint(id);
-        return extensionPoint;
-    }
-    
-    
-    /**
-     * Returns the configuration elements
-     *
-     * @param extension
-     * @return configurationElements
-     */
-    public static IConfigurationElement[] getConfigurationElements(IExtension extension){
-        return extension!=null?extension.getConfigurationElements():null;
-    }
-    
-    /**
-     * Add listener to extension registry.
-     * @param listener
-     */
-    public static void addRegistryListener(IRegistryChangeListener listener){
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		registry.addRegistryChangeListener(listener, CorePlugin.PLUGIN_ID);
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/FileUtil.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/FileUtil.java
deleted file mode 100644
index dfbaab7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/util/FileUtil.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.core.util;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Utilities for file operations.
- * 
- * @author Gorkem Ercan
- */
-public class FileUtil {
-
-	
-	
-	/**
-	 * Returns a resolved equivalent of url, use with the 
-	 * platform relative urls
-	 * 
-	 * @param url
-	 * @return URL
-	 */
-	public static URL resolveURL(URL url){
-		try{
-			return Platform.resolve(url);
-		}catch(IOException e){
-			//ignore
-		}
-		return null;
-	}
-	
-	
-	
-	/**
-	 * Create a temporary file
-	 * @param name
-	 * @param dir
-	 * @return file
-	 */
-	public static File createTempFile(String name, String dir){
-		if(name==null || dir == null)
-			return null;
-		
-		File temp=null;
-		String filePath;
-		filePath = name.replace('/', File.separatorChar);
-		if (filePath.startsWith(File.separator))
-			filePath = filePath.substring(1);
-		temp = new File(dir, filePath);
-		verifyPath(temp,true);
-		temp.deleteOnExit();
-		return temp;
-	
-	}
-	
-	/**
-	 * Copies a file
-	 * @param input
-	 * @param output
-	 * @throws IOException
-	 */
-	public static void copy(InputStream input, OutputStream output) throws IOException{
-		byte[] buf = new byte[4096];
-		int len = input.read(buf);
-		while(len!=-1){
-			output.write(buf,0,len);
-			len= input.read(buf);
-		}
-	}
-	
-	private static void verifyPath(File path, boolean isFile) {
-		// if we are expecting a file back off 1 path element
-		if (isFile) {
-			if (path.getAbsolutePath().endsWith(File.separator)) {
-				// make sure this is a file
-				path = path.getParentFile();
-				isFile = false;
-			}
-		}
-		// already exists ... just return
-		if (path.exists())
-			return;
-		// does not exist ... ensure parent exists
-		File parent = path.getParentFile();
-		verifyPath(parent, false);
-		// ensure directories are made. Mark files or directories for deletion
-		if (!isFile)
-			path.mkdir();
-		path.deleteOnExit();
-	}
-
-    /**
-     * Resolves a URL to a file.
-     * 
-     * @param url
-     * @return file
-     */
-    public static File resolveFile(URL url){
-        try {
-            URL resolvedUrl = resolveURL(url);
-              URI uri = new URI(resolvedUrl.getProtocol(), resolvedUrl.getHost(),resolvedUrl.getPath(), resolvedUrl.getQuery());
-            return new File(uri);
-        } 
-        catch (URISyntaxException e) {
-        	//ignore
-        }
-        return null;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java
deleted file mode 100644
index c230966..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/ServerTypePackage.java
+++ /dev/null
@@ -1,1593 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory
- * @model kind="package"
- * @generated
- */
-public interface ServerTypePackage extends EPackage {
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "definition";
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "http://eclipse.org/jst/server/generic/ServerTypeDefinition";
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "definition";
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	ServerTypePackage eINSTANCE = org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArchiveTypeImpl <em>Archive Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArchiveTypeImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getArchiveType()
-	 * @generated
-	 */
-	int ARCHIVE_TYPE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Path</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARCHIVE_TYPE__PATH = 0;
-
-	/**
-	 * The number of structural features of the the '<em>Archive Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARCHIVE_TYPE_FEATURE_COUNT = 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl <em>Argument Pair</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getArgumentPair()
-	 * @generated
-	 */
-	int ARGUMENT_PAIR = 1;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARGUMENT_PAIR__NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARGUMENT_PAIR__VALUE = 1;
-
-	/**
-	 * The number of structural features of the the '<em>Argument Pair</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARGUMENT_PAIR_FEATURE_COUNT = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl <em>Classpath</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getClasspath()
-	 * @generated
-	 */
-	int CLASSPATH = 2;
-
-	/**
-	 * The feature id for the '<em><b>Group</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSPATH__GROUP = 0;
-
-	/**
-	 * The feature id for the '<em><b>Archive</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSPATH__ARCHIVE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSPATH__ID = 2;
-
-	/**
-	 * The number of structural features of the the '<em>Classpath</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSPATH_FEATURE_COUNT = 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl <em>External</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getExternal()
-	 * @generated
-	 */
-	int EXTERNAL = 3;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTERNAL__VALUE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Os</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTERNAL__OS = 1;
-
-	/**
-	 * The number of structural features of the the '<em>External</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTERNAL_FEATURE_COUNT = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl <em>Jndi Connection</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getJndiConnection()
-	 * @generated
-	 */
-	int JNDI_CONNECTION = 4;
-
-	/**
-	 * The feature id for the '<em><b>Provider Url</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_CONNECTION__PROVIDER_URL = 0;
-
-	/**
-	 * The feature id for the '<em><b>Group</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_CONNECTION__GROUP = 1;
-
-	/**
-	 * The feature id for the '<em><b>Jndi Property</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_CONNECTION__JNDI_PROPERTY = 2;
-
-	/**
-	 * The feature id for the '<em><b>Initial Context Factory</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY = 3;
-
-	/**
-	 * The number of structural features of the the '<em>Jndi Connection</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JNDI_CONNECTION_FEATURE_COUNT = 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl <em>Launch Configuration</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getLaunchConfiguration()
-	 * @generated
-	 */
-	int LAUNCH_CONFIGURATION = 5;
-
-	/**
-	 * The feature id for the '<em><b>Group</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP = 0;
-
-	/**
-	 * The feature id for the '<em><b>Environment Variable</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Group1</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP1 = 2;
-
-	/**
-	 * The feature id for the '<em><b>Program Arguments</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS = 3;
-
-	/**
-	 * The feature id for the '<em><b>Working Directory</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__WORKING_DIRECTORY = 4;
-
-	/**
-	 * The feature id for the '<em><b>Main Class</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__MAIN_CLASS = 5;
-
-	/**
-	 * The feature id for the '<em><b>Group2</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP2 = 6;
-
-	/**
-	 * The feature id for the '<em><b>Vm Parameters</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__VM_PARAMETERS = 7;
-
-	/**
-	 * The feature id for the '<em><b>Classpath Reference</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE = 8;
-
-	/**
-	 * The feature id for the '<em><b>Debug Port</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__DEBUG_PORT = 9;
-
-	/**
-	 * The feature id for the '<em><b>Group3</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__GROUP3 = 10;
-
-	/**
-	 * The feature id for the '<em><b>External</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION__EXTERNAL = 11;
-
-	/**
-	 * The number of structural features of the the '<em>Launch Configuration</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAUNCH_CONFIGURATION_FEATURE_COUNT = 12;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ModuleImpl <em>Module</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ModuleImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getModule()
-	 * @generated
-	 */
-	int MODULE = 6;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODULE__TYPE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Publish Dir</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODULE__PUBLISH_DIR = 1;
-
-	/**
-	 * The feature id for the '<em><b>Publisher Reference</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODULE__PUBLISHER_REFERENCE = 2;
-
-	/**
-	 * The number of structural features of the the '<em>Module</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODULE_FEATURE_COUNT = 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PortImpl <em>Port</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.PortImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getPort()
-	 * @generated
-	 */
-	int PORT = 7;
-
-	/**
-	 * The feature id for the '<em><b>No</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT__NO = 0;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT__NAME = 1;
-
-	/**
-	 * The feature id for the '<em><b>Protocol</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT__PROTOCOL = 2;
-
-	/**
-	 * The number of structural features of the the '<em>Port</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT_FEATURE_COUNT = 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ProjectImpl <em>Project</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ProjectImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getProject()
-	 * @generated
-	 */
-	int PROJECT = 8;
-
-	/**
-	 * The feature id for the '<em><b>Classpath Reference</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROJECT__CLASSPATH_REFERENCE = 0;
-
-	/**
-	 * The number of structural features of the the '<em>Project</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROJECT_FEATURE_COUNT = 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl <em>Property</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getProperty()
-	 * @generated
-	 */
-	int PROPERTY = 9;
-
-	/**
-	 * The feature id for the '<em><b>Context</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__CONTEXT = 0;
-
-	/**
-	 * The feature id for the '<em><b>Default</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__DEFAULT = 1;
-
-	/**
-	 * The feature id for the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__ID = 2;
-
-	/**
-	 * The feature id for the '<em><b>Label</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__LABEL = 3;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__TYPE = 4;
-
-	/**
-	 * The number of structural features of the the '<em>Property</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_FEATURE_COUNT = 5;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherImpl <em>Publisher</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getPublisher()
-	 * @generated
-	 */
-	int PUBLISHER = 10;
-
-	/**
-	 * The feature id for the '<em><b>Group</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PUBLISHER__GROUP = 0;
-
-	/**
-	 * The feature id for the '<em><b>Publisherdata</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PUBLISHER__PUBLISHERDATA = 1;
-
-	/**
-	 * The feature id for the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PUBLISHER__ID = 2;
-
-	/**
-	 * The number of structural features of the the '<em>Publisher</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PUBLISHER_FEATURE_COUNT = 3;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherDataImpl <em>Publisher Data</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherDataImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getPublisherData()
-	 * @generated
-	 */
-	int PUBLISHER_DATA = 11;
-
-	/**
-	 * The feature id for the '<em><b>Dataname</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PUBLISHER_DATA__DATANAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Datavalue</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PUBLISHER_DATA__DATAVALUE = 1;
-
-	/**
-	 * The number of structural features of the the '<em>Publisher Data</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PUBLISHER_DATA_FEATURE_COUNT = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl <em>Server Runtime</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypePackageImpl#getServerRuntime()
-	 * @generated
-	 */
-	int SERVER_RUNTIME = 12;
-
-	/**
-	 * The feature id for the '<em><b>Group</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__GROUP = 0;
-
-	/**
-	 * The feature id for the '<em><b>Property</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__PROPERTY = 1;
-
-	/**
-	 * The feature id for the '<em><b>Group1</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__GROUP1 = 2;
-
-	/**
-	 * The feature id for the '<em><b>Port</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__PORT = 3;
-
-	/**
-	 * The feature id for the '<em><b>Group2</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__GROUP2 = 4;
-
-	/**
-	 * The feature id for the '<em><b>Module</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__MODULE = 5;
-
-	/**
-	 * The feature id for the '<em><b>Project</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__PROJECT = 6;
-
-	/**
-	 * The feature id for the '<em><b>Start</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__START = 7;
-
-	/**
-	 * The feature id for the '<em><b>Stop</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__STOP = 8;
-
-	/**
-	 * The feature id for the '<em><b>Group3</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__GROUP3 = 9;
-
-	/**
-	 * The feature id for the '<em><b>Publisher</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__PUBLISHER = 10;
-
-	/**
-	 * The feature id for the '<em><b>Group4</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__GROUP4 = 11;
-
-	/**
-	 * The feature id for the '<em><b>Classpath</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__CLASSPATH = 12;
-
-	/**
-	 * The feature id for the '<em><b>Jndi Connection</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__JNDI_CONNECTION = 13;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__NAME = 14;
-
-	/**
-	 * The feature id for the '<em><b>Version</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME__VERSION = 15;
-
-	/**
-	 * The number of structural features of the the '<em>Server Runtime</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SERVER_RUNTIME_FEATURE_COUNT = 16;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType <em>Archive Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Archive Type</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArchiveType
-	 * @generated
-	 */
-	EClass getArchiveType();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Path</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath()
-	 * @see #getArchiveType()
-	 * @generated
-	 */
-	EAttribute getArchiveType_Path();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair <em>Argument Pair</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Argument Pair</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair
-	 * @generated
-	 */
-	EClass getArgumentPair();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName()
-	 * @see #getArgumentPair()
-	 * @generated
-	 */
-	EAttribute getArgumentPair_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue()
-	 * @see #getArgumentPair()
-	 * @generated
-	 */
-	EAttribute getArgumentPair_Value();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath <em>Classpath</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Classpath</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath
-	 * @generated
-	 */
-	EClass getClasspath();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getGroup <em>Group</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath#getGroup()
-	 * @see #getClasspath()
-	 * @generated
-	 */
-	EAttribute getClasspath_Group();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getArchive <em>Archive</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Archive</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath#getArchive()
-	 * @see #getClasspath()
-	 * @generated
-	 */
-	EReference getClasspath_Archive();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getId <em>Id</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Id</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath#getId()
-	 * @see #getClasspath()
-	 * @generated
-	 */
-	EAttribute getClasspath_Id();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.External <em>External</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>External</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.External
-	 * @generated
-	 */
-	EClass getExternal();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.External#getValue <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.External#getValue()
-	 * @see #getExternal()
-	 * @generated
-	 */
-	EAttribute getExternal_Value();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.External#getOs <em>Os</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Os</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.External#getOs()
-	 * @see #getExternal()
-	 * @generated
-	 */
-	EAttribute getExternal_Os();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection <em>Jndi Connection</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Jndi Connection</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection
-	 * @generated
-	 */
-	EClass getJndiConnection();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl <em>Provider Url</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Provider Url</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl()
-	 * @see #getJndiConnection()
-	 * @generated
-	 */
-	EAttribute getJndiConnection_ProviderUrl();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getGroup <em>Group</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getGroup()
-	 * @see #getJndiConnection()
-	 * @generated
-	 */
-	EAttribute getJndiConnection_Group();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getJndiProperty <em>Jndi Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Jndi Property</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getJndiProperty()
-	 * @see #getJndiConnection()
-	 * @generated
-	 */
-	EReference getJndiConnection_JndiProperty();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory <em>Initial Context Factory</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Initial Context Factory</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory()
-	 * @see #getJndiConnection()
-	 * @generated
-	 */
-	EAttribute getJndiConnection_InitialContextFactory();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration <em>Launch Configuration</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Launch Configuration</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration
-	 * @generated
-	 */
-	EClass getLaunchConfiguration();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup <em>Group</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable <em>Environment Variable</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Environment Variable</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EReference getLaunchConfiguration_EnvironmentVariable();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup1 <em>Group1</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group1</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup1()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group1();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Program Arguments</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_ProgramArguments();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Working Directory</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_WorkingDirectory();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass <em>Main Class</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Main Class</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_MainClass();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup2 <em>Group2</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group2</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup2()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group2();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Vm Parameters</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_VmParameters();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Classpath Reference</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_ClasspathReference();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Debug Port</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_DebugPort();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup3 <em>Group3</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group3</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup3()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EAttribute getLaunchConfiguration_Group3();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal <em>External</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>External</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal()
-	 * @see #getLaunchConfiguration()
-	 * @generated
-	 */
-	EReference getLaunchConfiguration_External();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Module <em>Module</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Module</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Module
-	 * @generated
-	 */
-	EClass getModule();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Module#getType()
-	 * @see #getModule()
-	 * @generated
-	 */
-	EAttribute getModule_Type();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir <em>Publish Dir</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Publish Dir</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir()
-	 * @see #getModule()
-	 * @generated
-	 */
-	EAttribute getModule_PublishDir();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference <em>Publisher Reference</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Publisher Reference</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference()
-	 * @see #getModule()
-	 * @generated
-	 */
-	EAttribute getModule_PublisherReference();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Port <em>Port</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Port</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Port
-	 * @generated
-	 */
-	EClass getPort();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getNo <em>No</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>No</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Port#getNo()
-	 * @see #getPort()
-	 * @generated
-	 */
-	EAttribute getPort_No();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Port#getName()
-	 * @see #getPort()
-	 * @generated
-	 */
-	EAttribute getPort_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol <em>Protocol</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Protocol</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol()
-	 * @see #getPort()
-	 * @generated
-	 */
-	EAttribute getPort_Protocol();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Project <em>Project</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Project</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Project
-	 * @generated
-	 */
-	EClass getProject();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference <em>Classpath Reference</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Classpath Reference</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference()
-	 * @see #getProject()
-	 * @generated
-	 */
-	EAttribute getProject_ClasspathReference();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Property <em>Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Property</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Property
-	 * @generated
-	 */
-	EClass getProperty();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getContext <em>Context</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Context</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getContext()
-	 * @see #getProperty()
-	 * @generated
-	 */
-	EAttribute getProperty_Context();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getDefault <em>Default</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Default</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getDefault()
-	 * @see #getProperty()
-	 * @generated
-	 */
-	EAttribute getProperty_Default();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getId <em>Id</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Id</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getId()
-	 * @see #getProperty()
-	 * @generated
-	 */
-	EAttribute getProperty_Id();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getLabel <em>Label</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Label</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getLabel()
-	 * @see #getProperty()
-	 * @generated
-	 */
-	EAttribute getProperty_Label();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getType <em>Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Type</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Property#getType()
-	 * @see #getProperty()
-	 * @generated
-	 */
-	EAttribute getProperty_Type();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher <em>Publisher</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Publisher</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher
-	 * @generated
-	 */
-	EClass getPublisher();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getGroup <em>Group</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getGroup()
-	 * @see #getPublisher()
-	 * @generated
-	 */
-	EAttribute getPublisher_Group();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getPublisherdata <em>Publisherdata</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Publisherdata</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getPublisherdata()
-	 * @see #getPublisher()
-	 * @generated
-	 */
-	EReference getPublisher_Publisherdata();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getId <em>Id</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Id</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher#getId()
-	 * @see #getPublisher()
-	 * @generated
-	 */
-	EAttribute getPublisher_Id();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData <em>Publisher Data</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Publisher Data</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.PublisherData
-	 * @generated
-	 */
-	EClass getPublisherData();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname <em>Dataname</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Dataname</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname()
-	 * @see #getPublisherData()
-	 * @generated
-	 */
-	EAttribute getPublisherData_Dataname();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue <em>Datavalue</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Datavalue</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue()
-	 * @see #getPublisherData()
-	 * @generated
-	 */
-	EAttribute getPublisherData_Datavalue();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime <em>Server Runtime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Server Runtime</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime
-	 * @generated
-	 */
-	EClass getServerRuntime();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup <em>Group</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EAttribute getServerRuntime_Group();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProperty <em>Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Property</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProperty()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Property();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup1 <em>Group1</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group1</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup1()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EAttribute getServerRuntime_Group1();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPort <em>Port</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Port</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPort()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Port();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup2 <em>Group2</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group2</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup2()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EAttribute getServerRuntime_Group2();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getModule <em>Module</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Module</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getModule()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Module();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject <em>Project</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Project</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Project();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart <em>Start</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Start</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Start();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop <em>Stop</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Stop</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Stop();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup3 <em>Group3</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group3</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup3()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EAttribute getServerRuntime_Group3();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPublisher <em>Publisher</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Publisher</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPublisher()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Publisher();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup4 <em>Group4</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Group4</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup4()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EAttribute getServerRuntime_Group4();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getClasspath <em>Classpath</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Classpath</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getClasspath()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_Classpath();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getJndiConnection <em>Jndi Connection</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Jndi Connection</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getJndiConnection()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EReference getServerRuntime_JndiConnection();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EAttribute getServerRuntime_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion <em>Version</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Version</em>'.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion()
-	 * @see #getServerRuntime()
-	 * @generated
-	 */
-	EAttribute getServerRuntime_Version();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	ServerTypeFactory getServerTypeFactory();
-
-} //ServerTypePackage
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
deleted file mode 100644
index f5559fa..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArchiveTypeImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Archive Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArchiveTypeImpl#getPath <em>Path</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ArchiveTypeImpl extends EObjectImpl implements ArchiveType {
-	/**
-	 * The default value of the '{@link #getPath() <em>Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPath()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PATH_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getPath() <em>Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPath()
-	 * @generated
-	 * @ordered
-	 */
-	protected String path = PATH_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ArchiveTypeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getArchiveType();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getPath() {
-		return path;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPath(String newPath) {
-		String oldPath = path;
-		path = newPath;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.ARCHIVE_TYPE__PATH, oldPath, path));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARCHIVE_TYPE__PATH:
-				return getPath();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARCHIVE_TYPE__PATH:
-				setPath((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARCHIVE_TYPE__PATH:
-				setPath(PATH_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARCHIVE_TYPE__PATH:
-				return PATH_EDEFAULT == null ? path != null : !PATH_EDEFAULT.equals(path);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (path: ");
-		result.append(path);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ArchiveTypeImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java
deleted file mode 100644
index 7fadb22..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ArgumentPairImpl.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Argument Pair</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ArgumentPairImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ArgumentPairImpl extends EObjectImpl implements ArgumentPair {
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String value = VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ArgumentPairImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getArgumentPair();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.ARGUMENT_PAIR__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValue(String newValue) {
-		String oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.ARGUMENT_PAIR__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARGUMENT_PAIR__NAME:
-				return getName();
-			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
-				return getValue();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARGUMENT_PAIR__NAME:
-				setName((String)newValue);
-				return;
-			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
-				setValue((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARGUMENT_PAIR__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.ARGUMENT_PAIR__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case ServerTypePackage.ARGUMENT_PAIR__VALUE:
-				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: ");
-		result.append(name);
-		result.append(", value: ");
-		result.append(value);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ArgumentPairImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
deleted file mode 100644
index 34bf381..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ClasspathImpl.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.BasicFeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Classpath</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl#getArchive <em>Archive</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ClasspathImpl#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ClasspathImpl extends EObjectImpl implements Classpath {
-	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group = null;
-
-	/**
-	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ID_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected String id = ID_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ClasspathImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getClasspath();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup() {
-		if (group == null) {
-			group = new BasicFeatureMap(this, ServerTypePackage.CLASSPATH__GROUP);
-		}
-		return group;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getArchive() {
-		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getClasspath_Archive());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setId(String newId) {
-		String oldId = id;
-		id = newId;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.CLASSPATH__ID, oldId, id));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ServerTypePackage.CLASSPATH__GROUP:
-					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.CLASSPATH__ARCHIVE:
-					return ((InternalEList)getArchive()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.CLASSPATH__GROUP:
-				return getGroup();
-			case ServerTypePackage.CLASSPATH__ARCHIVE:
-				return getArchive();
-			case ServerTypePackage.CLASSPATH__ID:
-				return getId();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.CLASSPATH__GROUP:
-				getGroup().clear();
-				getGroup().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.CLASSPATH__ARCHIVE:
-				getArchive().clear();
-				getArchive().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.CLASSPATH__ID:
-				setId((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.CLASSPATH__GROUP:
-				getGroup().clear();
-				return;
-			case ServerTypePackage.CLASSPATH__ARCHIVE:
-				getArchive().clear();
-				return;
-			case ServerTypePackage.CLASSPATH__ID:
-				setId(ID_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.CLASSPATH__GROUP:
-				return group != null && !group.isEmpty();
-			case ServerTypePackage.CLASSPATH__ARCHIVE:
-				return !getArchive().isEmpty();
-			case ServerTypePackage.CLASSPATH__ID:
-				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (group: ");
-		result.append(group);
-		result.append(", id: ");
-		result.append(id);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ClasspathImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java
deleted file mode 100644
index 7a55255..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ExternalImpl.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.External;
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>External</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl#getValue <em>Value</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ExternalImpl#getOs <em>Os</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ExternalImpl extends EObjectImpl implements External {
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String value = VALUE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOs() <em>Os</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOs()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String OS_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOs() <em>Os</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOs()
-	 * @generated
-	 * @ordered
-	 */
-	protected String os = OS_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ExternalImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getExternal();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValue(String newValue) {
-		String oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.EXTERNAL__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getOs() {
-		return os;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOs(String newOs) {
-		String oldOs = os;
-		os = newOs;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.EXTERNAL__OS, oldOs, os));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				return getValue();
-			case ServerTypePackage.EXTERNAL__OS:
-				return getOs();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				setValue((String)newValue);
-				return;
-			case ServerTypePackage.EXTERNAL__OS:
-				setOs((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-			case ServerTypePackage.EXTERNAL__OS:
-				setOs(OS_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.EXTERNAL__VALUE:
-				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-			case ServerTypePackage.EXTERNAL__OS:
-				return OS_EDEFAULT == null ? os != null : !OS_EDEFAULT.equals(os);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (value: ");
-		result.append(value);
-		result.append(", os: ");
-		result.append(os);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ExternalImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
deleted file mode 100644
index 362b84e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/JndiConnectionImpl.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.BasicFeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.JndiConnection;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Jndi Connection</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getProviderUrl <em>Provider Url</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getJndiProperty <em>Jndi Property</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.JndiConnectionImpl#getInitialContextFactory <em>Initial Context Factory</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JndiConnectionImpl extends EObjectImpl implements JndiConnection {
-	/**
-	 * The default value of the '{@link #getProviderUrl() <em>Provider Url</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getProviderUrl()
-	 * @generated
-	 * @ordered
-	 */
-    protected static final String PROVIDER_URL_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getProviderUrl() <em>Provider Url</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getProviderUrl()
-	 * @generated
-	 * @ordered
-	 */
-    protected String providerUrl = PROVIDER_URL_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group = null;
-
-	/**
-	 * The default value of the '{@link #getInitialContextFactory() <em>Initial Context Factory</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getInitialContextFactory()
-	 * @generated
-	 * @ordered
-	 */
-    protected static final String INITIAL_CONTEXT_FACTORY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getInitialContextFactory() <em>Initial Context Factory</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getInitialContextFactory()
-	 * @generated
-	 * @ordered
-	 */
-    protected String initialContextFactory = INITIAL_CONTEXT_FACTORY_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    protected JndiConnectionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getJndiConnection();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public String getProviderUrl() {
-		return providerUrl;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void setProviderUrl(String newProviderUrl) {
-		String oldProviderUrl = providerUrl;
-		providerUrl = newProviderUrl;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL, oldProviderUrl, providerUrl));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup() {
-		if (group == null) {
-			group = new BasicFeatureMap(this, ServerTypePackage.JNDI_CONNECTION__GROUP);
-		}
-		return group;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public List getJndiProperty() {
-		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getJndiConnection_JndiProperty());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public String getInitialContextFactory() {
-		return initialContextFactory;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void setInitialContextFactory(String newInitialContextFactory) {
-		String oldInitialContextFactory = initialContextFactory;
-		initialContextFactory = newInitialContextFactory;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY, oldInitialContextFactory, initialContextFactory));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ServerTypePackage.JNDI_CONNECTION__GROUP:
-					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-					return ((InternalEList)getJndiProperty()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL:
-				return getProviderUrl();
-			case ServerTypePackage.JNDI_CONNECTION__GROUP:
-				return getGroup();
-			case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-				return getJndiProperty();
-			case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-				return getInitialContextFactory();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL:
-				setProviderUrl((String)newValue);
-				return;
-			case ServerTypePackage.JNDI_CONNECTION__GROUP:
-				getGroup().clear();
-				getGroup().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-				getJndiProperty().clear();
-				getJndiProperty().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-				setInitialContextFactory((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL:
-				setProviderUrl(PROVIDER_URL_EDEFAULT);
-				return;
-			case ServerTypePackage.JNDI_CONNECTION__GROUP:
-				getGroup().clear();
-				return;
-			case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-				getJndiProperty().clear();
-				return;
-			case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-				setInitialContextFactory(INITIAL_CONTEXT_FACTORY_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.JNDI_CONNECTION__PROVIDER_URL:
-				return PROVIDER_URL_EDEFAULT == null ? providerUrl != null : !PROVIDER_URL_EDEFAULT.equals(providerUrl);
-			case ServerTypePackage.JNDI_CONNECTION__GROUP:
-				return group != null && !group.isEmpty();
-			case ServerTypePackage.JNDI_CONNECTION__JNDI_PROPERTY:
-				return !getJndiProperty().isEmpty();
-			case ServerTypePackage.JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY:
-				return INITIAL_CONTEXT_FACTORY_EDEFAULT == null ? initialContextFactory != null : !INITIAL_CONTEXT_FACTORY_EDEFAULT.equals(initialContextFactory);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (providerUrl: ");
-		result.append(providerUrl);
-		result.append(", group: ");
-		result.append(group);
-		result.append(", initialContextFactory: ");
-		result.append(initialContextFactory);
-		result.append(')');
-		return result.toString();
-	}
-
-} //JndiConnectionImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
deleted file mode 100644
index dd4089f..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/LaunchConfigurationImpl.java
+++ /dev/null
@@ -1,637 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.BasicFeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Launch Configuration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getEnvironmentVariable <em>Environment Variable</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup1 <em>Group1</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getProgramArguments <em>Program Arguments</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getWorkingDirectory <em>Working Directory</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getMainClass <em>Main Class</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup2 <em>Group2</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getVmParameters <em>Vm Parameters</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getClasspathReference <em>Classpath Reference</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getDebugPort <em>Debug Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getGroup3 <em>Group3</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.LaunchConfigurationImpl#getExternal <em>External</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class LaunchConfigurationImpl extends EObjectImpl implements LaunchConfiguration {
-	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroup()
-	 * @generated
-	 * @ordered
-	 */
-	protected FeatureMap group = null;
-
-	/**
-	 * The cached value of the '{@link #getGroup1() <em>Group1</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroup1()
-	 * @generated
-	 * @ordered
-	 */
-	protected FeatureMap group1 = null;
-
-	/**
-	 * The default value of the '{@link #getWorkingDirectory() <em>Working Directory</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWorkingDirectory()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String WORKING_DIRECTORY_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getWorkingDirectory() <em>Working Directory</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getWorkingDirectory()
-	 * @generated
-	 * @ordered
-	 */
-	protected String workingDirectory = WORKING_DIRECTORY_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getMainClass() <em>Main Class</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getMainClass()
-	 * @generated
-	 * @ordered
-	 */
-    protected static final String MAIN_CLASS_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMainClass() <em>Main Class</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getMainClass()
-	 * @generated
-	 * @ordered
-	 */
-    protected String mainClass = MAIN_CLASS_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getGroup2() <em>Group2</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroup2()
-	 * @generated
-	 * @ordered
-	 */
-	protected FeatureMap group2 = null;
-
-	/**
-	 * The default value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClasspathReference()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CLASSPATH_REFERENCE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClasspathReference()
-	 * @generated
-	 * @ordered
-	 */
-	protected String classpathReference = CLASSPATH_REFERENCE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getDebugPort() <em>Debug Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDebugPort()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String DEBUG_PORT_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getDebugPort() <em>Debug Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDebugPort()
-	 * @generated
-	 * @ordered
-	 */
-	protected String debugPort = DEBUG_PORT_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getGroup3() <em>Group3</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroup3()
-	 * @generated
-	 * @ordered
-	 */
-	protected FeatureMap group3 = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LaunchConfigurationImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getLaunchConfiguration();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public String getMainClass() {
-		return mainClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void setMainClass(String newMainClass) {
-		String oldMainClass = mainClass;
-		mainClass = newMainClass;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS, oldMainClass, mainClass));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureMap getGroup2() {
-		if (group2 == null) {
-			group2 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2);
-		}
-		return group2;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getWorkingDirectory() {
-		return workingDirectory;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setWorkingDirectory(String newWorkingDirectory) {
-		String oldWorkingDirectory = workingDirectory;
-		workingDirectory = newWorkingDirectory;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY, oldWorkingDirectory, workingDirectory));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getProgramArguments() {
-		return ((FeatureMap)getGroup1()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_ProgramArguments());
-	}
-
-	/**
-	 * @generated NOT
-	 * @return
-	 */
-	private String cleanWhiteSpace(String string)
-	{
-		if(string==null)
-			return null;
-        char[] chars = string.toCharArray();
-		for (int i = 0; i < chars.length; i++) {
-			if(Character.isWhitespace(chars[i]))
-				chars[i]=' ';
-		}
-		return (new String(chars)).trim();
-		
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getVmParameters() {
-		return ((FeatureMap)getGroup2()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_VmParameters());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getClasspathReference() {
-		return classpathReference;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setClasspathReference(String newClasspathReference) {
-		String oldClasspathReference = classpathReference;
-		classpathReference = newClasspathReference;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE, oldClasspathReference, classpathReference));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getExternal() {
-		return ((FeatureMap)getGroup3()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_External());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-					return ((InternalEList)getEnvironmentVariable()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-					return ((InternalEList)getGroup1()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-					return ((InternalEList)getGroup2()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-					return ((InternalEList)getGroup3()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-					return ((InternalEList)getExternal()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getDebugPort() {
-		return debugPort;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDebugPort(String newDebugPort) {
-		String oldDebugPort = debugPort;
-		debugPort = newDebugPort;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT, oldDebugPort, debugPort));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureMap getGroup3() {
-		if (group3 == null) {
-			group3 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3);
-		}
-		return group3;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureMap getGroup() {
-		if (group == null) {
-			group = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP);
-		}
-		return group;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public List getEnvironmentVariable() {
-		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getLaunchConfiguration_EnvironmentVariable());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FeatureMap getGroup1() {
-		if (group1 == null) {
-			group1 = new BasicFeatureMap(this, ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1);
-		}
-		return group1;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				return getGroup();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				return getEnvironmentVariable();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				return getGroup1();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				return getProgramArguments();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				return getWorkingDirectory();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				return getMainClass();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				return getGroup2();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				return getVmParameters();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				return getClasspathReference();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				return getDebugPort();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				return getGroup3();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				return getExternal();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				getGroup().clear();
-				getGroup().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				getEnvironmentVariable().clear();
-				getEnvironmentVariable().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				getGroup1().clear();
-				getGroup1().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				getProgramArguments().clear();
-				getProgramArguments().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				setWorkingDirectory((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				setMainClass((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				getGroup2().clear();
-				getGroup2().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				getVmParameters().clear();
-				getVmParameters().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				setClasspathReference((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				setDebugPort((String)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				getGroup3().clear();
-				getGroup3().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				getExternal().clear();
-				getExternal().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				getGroup().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				getEnvironmentVariable().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				getGroup1().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				getProgramArguments().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				setWorkingDirectory(WORKING_DIRECTORY_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				setMainClass(MAIN_CLASS_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				getGroup2().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				getVmParameters().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				setDebugPort(DEBUG_PORT_EDEFAULT);
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				getGroup3().clear();
-				return;
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				getExternal().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP:
-				return group != null && !group.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE:
-				return !getEnvironmentVariable().isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP1:
-				return group1 != null && !group1.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS:
-				return !getProgramArguments().isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__WORKING_DIRECTORY:
-				return WORKING_DIRECTORY_EDEFAULT == null ? workingDirectory != null : !WORKING_DIRECTORY_EDEFAULT.equals(workingDirectory);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__MAIN_CLASS:
-				return MAIN_CLASS_EDEFAULT == null ? mainClass != null : !MAIN_CLASS_EDEFAULT.equals(mainClass);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP2:
-				return group2 != null && !group2.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__VM_PARAMETERS:
-				return !getVmParameters().isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE:
-				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__DEBUG_PORT:
-				return DEBUG_PORT_EDEFAULT == null ? debugPort != null : !DEBUG_PORT_EDEFAULT.equals(debugPort);
-			case ServerTypePackage.LAUNCH_CONFIGURATION__GROUP3:
-				return group3 != null && !group3.isEmpty();
-			case ServerTypePackage.LAUNCH_CONFIGURATION__EXTERNAL:
-				return !getExternal().isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (group: ");
-		result.append(group);
-		result.append(", group1: ");
-		result.append(group1);
-		result.append(", workingDirectory: ");
-		result.append(workingDirectory);
-		result.append(", mainClass: ");
-		result.append(mainClass);
-		result.append(", group2: ");
-		result.append(group2);
-		result.append(", classpathReference: ");
-		result.append(classpathReference);
-		result.append(", debugPort: ");
-		result.append(debugPort);
-		result.append(", group3: ");
-		result.append(group3);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * @generated NOT
-	 */
-	public String getProgramArgumentsAsString() {
-		return concatList(getProgramArguments());
-	}
-	
-	/**
-	 * @generated NOT
-	 */
-	public String getVmParametersAsString() {
-		return concatList(getVmParameters());
-	}
-	
-	private String concatList(List list){
-		StringBuffer concatString = new StringBuffer();
-		Iterator iterator = list.iterator();
-		while(iterator.hasNext()){
-			concatString.append(iterator.next());
-			concatString.append(" ");
-		}
-		return concatString.toString();
-	}
-	
-} //LaunchConfigurationImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
deleted file mode 100644
index db96887..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ModuleImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Module</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ModuleImpl#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ModuleImpl#getPublishDir <em>Publish Dir</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ModuleImpl#getPublisherReference <em>Publisher Reference</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ModuleImpl extends EObjectImpl implements Module {
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPublishDir() <em>Publish Dir</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPublishDir()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PUBLISH_DIR_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getPublishDir() <em>Publish Dir</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPublishDir()
-	 * @generated
-	 * @ordered
-	 */
-	protected String publishDir = PUBLISH_DIR_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPublisherReference() <em>Publisher Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPublisherReference()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PUBLISHER_REFERENCE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getPublisherReference() <em>Publisher Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPublisherReference()
-	 * @generated
-	 * @ordered
-	 */
-	protected String publisherReference = PUBLISHER_REFERENCE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ModuleImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getModule();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.MODULE__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getPublishDir() {
-		return publishDir;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPublishDir(String newPublishDir) {
-		String oldPublishDir = publishDir;
-		publishDir = newPublishDir;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.MODULE__PUBLISH_DIR, oldPublishDir, publishDir));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getPublisherReference() {
-		return publisherReference;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPublisherReference(String newPublisherReference) {
-		String oldPublisherReference = publisherReference;
-		publisherReference = newPublisherReference;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.MODULE__PUBLISHER_REFERENCE, oldPublisherReference, publisherReference));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.MODULE__TYPE:
-				return getType();
-			case ServerTypePackage.MODULE__PUBLISH_DIR:
-				return getPublishDir();
-			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
-				return getPublisherReference();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.MODULE__TYPE:
-				setType((String)newValue);
-				return;
-			case ServerTypePackage.MODULE__PUBLISH_DIR:
-				setPublishDir((String)newValue);
-				return;
-			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
-				setPublisherReference((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.MODULE__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-			case ServerTypePackage.MODULE__PUBLISH_DIR:
-				setPublishDir(PUBLISH_DIR_EDEFAULT);
-				return;
-			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
-				setPublisherReference(PUBLISHER_REFERENCE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.MODULE__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-			case ServerTypePackage.MODULE__PUBLISH_DIR:
-				return PUBLISH_DIR_EDEFAULT == null ? publishDir != null : !PUBLISH_DIR_EDEFAULT.equals(publishDir);
-			case ServerTypePackage.MODULE__PUBLISHER_REFERENCE:
-				return PUBLISHER_REFERENCE_EDEFAULT == null ? publisherReference != null : !PUBLISHER_REFERENCE_EDEFAULT.equals(publisherReference);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (type: ");
-		result.append(type);
-		result.append(", publishDir: ");
-		result.append(publishDir);
-		result.append(", publisherReference: ");
-		result.append(publisherReference);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ModuleImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
deleted file mode 100644
index ea923f7..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PortImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Port;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Port</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PortImpl#getNo <em>No</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PortImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PortImpl#getProtocol <em>Protocol</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PortImpl extends EObjectImpl implements Port {
-	/**
-	 * The default value of the '{@link #getNo() <em>No</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getNo()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NO_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getNo() <em>No</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getNo()
-	 * @generated
-	 * @ordered
-	 */
-	protected String no = NO_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getProtocol() <em>Protocol</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getProtocol()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PROTOCOL_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getProtocol() <em>Protocol</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getProtocol()
-	 * @generated
-	 * @ordered
-	 */
-	protected String protocol = PROTOCOL_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PortImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getPort();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getNo() {
-		return no;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setNo(String newNo) {
-		String oldNo = no;
-		no = newNo;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PORT__NO, oldNo, no));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PORT__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getProtocol() {
-		return protocol;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setProtocol(String newProtocol) {
-		String oldProtocol = protocol;
-		protocol = newProtocol;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PORT__PROTOCOL, oldProtocol, protocol));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PORT__NO:
-				return getNo();
-			case ServerTypePackage.PORT__NAME:
-				return getName();
-			case ServerTypePackage.PORT__PROTOCOL:
-				return getProtocol();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PORT__NO:
-				setNo((String)newValue);
-				return;
-			case ServerTypePackage.PORT__NAME:
-				setName((String)newValue);
-				return;
-			case ServerTypePackage.PORT__PROTOCOL:
-				setProtocol((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PORT__NO:
-				setNo(NO_EDEFAULT);
-				return;
-			case ServerTypePackage.PORT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case ServerTypePackage.PORT__PROTOCOL:
-				setProtocol(PROTOCOL_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PORT__NO:
-				return NO_EDEFAULT == null ? no != null : !NO_EDEFAULT.equals(no);
-			case ServerTypePackage.PORT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case ServerTypePackage.PORT__PROTOCOL:
-				return PROTOCOL_EDEFAULT == null ? protocol != null : !PROTOCOL_EDEFAULT.equals(protocol);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (no: ");
-		result.append(no);
-		result.append(", name: ");
-		result.append(name);
-		result.append(", protocol: ");
-		result.append(protocol);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PortImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
deleted file mode 100644
index 09966d2..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ProjectImpl.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Project;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Project</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ProjectImpl#getClasspathReference <em>Classpath Reference</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ProjectImpl extends EObjectImpl implements Project {
-	/**
-	 * The default value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClasspathReference()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CLASSPATH_REFERENCE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getClasspathReference() <em>Classpath Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClasspathReference()
-	 * @generated
-	 * @ordered
-	 */
-	protected String classpathReference = CLASSPATH_REFERENCE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ProjectImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getProject();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getClasspathReference() {
-		return classpathReference;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setClasspathReference(String newClasspathReference) {
-		String oldClasspathReference = classpathReference;
-		classpathReference = newClasspathReference;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROJECT__CLASSPATH_REFERENCE, oldClasspathReference, classpathReference));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
-				return getClasspathReference();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
-				setClasspathReference((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
-				setClasspathReference(CLASSPATH_REFERENCE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROJECT__CLASSPATH_REFERENCE:
-				return CLASSPATH_REFERENCE_EDEFAULT == null ? classpathReference != null : !CLASSPATH_REFERENCE_EDEFAULT.equals(classpathReference);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (classpathReference: ");
-		result.append(classpathReference);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ProjectImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
deleted file mode 100644
index bc5d823..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PropertyImpl.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-
-
-
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.osgi.framework.Bundle;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getContext <em>Context</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getDefault <em>Default</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getId <em>Id</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getLabel <em>Label</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PropertyImpl#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PropertyImpl extends EObjectImpl implements Property {
-	/**
-	 * The default value of the '{@link #getContext() <em>Context</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getContext()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CONTEXT_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getContext() <em>Context</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getContext()
-	 * @generated
-	 * @ordered
-	 */
-	protected String context = CONTEXT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getDefault() <em>Default</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDefault()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String DEFAULT_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getDefault() <em>Default</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDefault()
-	 * @generated
-	 * @ordered
-	 */
-	protected String default_ = DEFAULT_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ID_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected String id = ID_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getLabel() <em>Label</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLabel()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String LABEL_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getLabel() <em>Label</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLabel()
-	 * @generated
-	 * @ordered
-	 */
-	protected String label = LABEL_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String TYPE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String type = TYPE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PropertyImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getProperty();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getContext() {
-		return context;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setContext(String newContext) {
-		String oldContext = context;
-		context = newContext;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__CONTEXT, oldContext, context));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getDefault() {
-		return default_;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDefault(String newDefault) {
-		String oldDefault = default_;
-		default_ = newDefault;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__DEFAULT, oldDefault, default_));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setId(String newId) {
-		String oldId = id;
-		id = newId;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__ID, oldId, id));
-	}
-
-    /**
-     * <!-- begin-user-doc -->
-     * labels support "%" nls support from the plugin.xml
-	 * <!-- end-user-doc -->
-     * @generated NOT
-     */
-	public String getLabel() {
-		if(label.startsWith("%",0))
-		{
-			ServerRuntime rt = (ServerRuntime)eResource().getContents().get(0);
-			Bundle bundle =Platform.getBundle(rt.getConfigurationElementNamespace());
-			return Platform.getResourceString(bundle,label);
-		}
-		return label;
-    }
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setLabel(String newLabel) {
-		String oldLabel = label;
-		label = newLabel;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__LABEL, oldLabel, label));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setType(String newType) {
-		String oldType = type;
-		type = newType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PROPERTY__TYPE, oldType, type));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROPERTY__CONTEXT:
-				return getContext();
-			case ServerTypePackage.PROPERTY__DEFAULT:
-				return getDefault();
-			case ServerTypePackage.PROPERTY__ID:
-				return getId();
-			case ServerTypePackage.PROPERTY__LABEL:
-				return getLabel();
-			case ServerTypePackage.PROPERTY__TYPE:
-				return getType();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROPERTY__CONTEXT:
-				setContext((String)newValue);
-				return;
-			case ServerTypePackage.PROPERTY__DEFAULT:
-				setDefault((String)newValue);
-				return;
-			case ServerTypePackage.PROPERTY__ID:
-				setId((String)newValue);
-				return;
-			case ServerTypePackage.PROPERTY__LABEL:
-				setLabel((String)newValue);
-				return;
-			case ServerTypePackage.PROPERTY__TYPE:
-				setType((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROPERTY__CONTEXT:
-				setContext(CONTEXT_EDEFAULT);
-				return;
-			case ServerTypePackage.PROPERTY__DEFAULT:
-				setDefault(DEFAULT_EDEFAULT);
-				return;
-			case ServerTypePackage.PROPERTY__ID:
-				setId(ID_EDEFAULT);
-				return;
-			case ServerTypePackage.PROPERTY__LABEL:
-				setLabel(LABEL_EDEFAULT);
-				return;
-			case ServerTypePackage.PROPERTY__TYPE:
-				setType(TYPE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PROPERTY__CONTEXT:
-				return CONTEXT_EDEFAULT == null ? context != null : !CONTEXT_EDEFAULT.equals(context);
-			case ServerTypePackage.PROPERTY__DEFAULT:
-				return DEFAULT_EDEFAULT == null ? default_ != null : !DEFAULT_EDEFAULT.equals(default_);
-			case ServerTypePackage.PROPERTY__ID:
-				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
-			case ServerTypePackage.PROPERTY__LABEL:
-				return LABEL_EDEFAULT == null ? label != null : !LABEL_EDEFAULT.equals(label);
-			case ServerTypePackage.PROPERTY__TYPE:
-				return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (context: ");
-		result.append(context);
-		result.append(", default: ");
-		result.append(default_);
-		result.append(", id: ");
-		result.append(id);
-		result.append(", label: ");
-		result.append(label);
-		result.append(", type: ");
-		result.append(type);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PropertyImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
deleted file mode 100644
index 8156d00..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherDataImpl.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.PublisherData;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Publisher Data</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherDataImpl#getDataname <em>Dataname</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherDataImpl#getDatavalue <em>Datavalue</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PublisherDataImpl extends EObjectImpl implements PublisherData {
-	/**
-	 * The default value of the '{@link #getDataname() <em>Dataname</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getDataname()
-	 * @generated
-	 * @ordered
-	 */
-    protected static final String DATANAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getDataname() <em>Dataname</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getDataname()
-	 * @generated
-	 * @ordered
-	 */
-    protected String dataname = DATANAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getDatavalue() <em>Datavalue</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getDatavalue()
-	 * @generated
-	 * @ordered
-	 */
-    protected static final String DATAVALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getDatavalue() <em>Datavalue</em>}' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getDatavalue()
-	 * @generated
-	 * @ordered
-	 */
-    protected String datavalue = DATAVALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    protected PublisherDataImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getPublisherData();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public String getDataname() {
-		return dataname;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void setDataname(String newDataname) {
-		String oldDataname = dataname;
-		dataname = newDataname;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISHER_DATA__DATANAME, oldDataname, dataname));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public String getDatavalue() {
-		return datavalue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void setDatavalue(String newDatavalue) {
-		String oldDatavalue = datavalue;
-		datavalue = newDatavalue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISHER_DATA__DATAVALUE, oldDatavalue, datavalue));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-				return getDataname();
-			case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-				return getDatavalue();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-				setDataname((String)newValue);
-				return;
-			case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-				setDatavalue((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-				setDataname(DATANAME_EDEFAULT);
-				return;
-			case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-				setDatavalue(DATAVALUE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER_DATA__DATANAME:
-				return DATANAME_EDEFAULT == null ? dataname != null : !DATANAME_EDEFAULT.equals(dataname);
-			case ServerTypePackage.PUBLISHER_DATA__DATAVALUE:
-				return DATAVALUE_EDEFAULT == null ? datavalue != null : !DATAVALUE_EDEFAULT.equals(datavalue);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (dataname: ");
-		result.append(dataname);
-		result.append(", datavalue: ");
-		result.append(datavalue);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PublisherDataImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
deleted file mode 100644
index 164869c..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/PublisherImpl.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.List;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.BasicFeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.Publisher;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Publisher</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherImpl#getPublisherdata <em>Publisherdata</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.PublisherImpl#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PublisherImpl extends EObjectImpl implements Publisher {
-	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group = null;
-
-	/**
-	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String ID_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getId()
-	 * @generated
-	 * @ordered
-	 */
-	protected String id = ID_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PublisherImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getPublisher();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup() {
-		if (group == null) {
-			group = new BasicFeatureMap(this, ServerTypePackage.PUBLISHER__GROUP);
-		}
-		return group;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public List getPublisherdata() {
-		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getPublisher_Publisherdata());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setId(String newId) {
-		String oldId = id;
-		id = newId;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.PUBLISHER__ID, oldId, id));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ServerTypePackage.PUBLISHER__GROUP:
-					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.PUBLISHER__PUBLISHERDATA:
-					return ((InternalEList)getPublisherdata()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER__GROUP:
-				return getGroup();
-			case ServerTypePackage.PUBLISHER__PUBLISHERDATA:
-				return getPublisherdata();
-			case ServerTypePackage.PUBLISHER__ID:
-				return getId();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER__GROUP:
-				getGroup().clear();
-				getGroup().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.PUBLISHER__PUBLISHERDATA:
-				getPublisherdata().clear();
-				getPublisherdata().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.PUBLISHER__ID:
-				setId((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER__GROUP:
-				getGroup().clear();
-				return;
-			case ServerTypePackage.PUBLISHER__PUBLISHERDATA:
-				getPublisherdata().clear();
-				return;
-			case ServerTypePackage.PUBLISHER__ID:
-				setId(ID_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.PUBLISHER__GROUP:
-				return group != null && !group.isEmpty();
-			case ServerTypePackage.PUBLISHER__PUBLISHERDATA:
-				return !getPublisherdata().isEmpty();
-			case ServerTypePackage.PUBLISHER__ID:
-				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (group: ");
-		result.append(group);
-		result.append(", id: ");
-		result.append(id);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PublisherImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
deleted file mode 100644
index 6962067..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerRuntimeImpl.java
+++ /dev/null
@@ -1,946 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.BasicFeatureMap;
-import org.eclipse.emf.ecore.util.FeatureMap;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jst.server.generic.servertype.definition.JndiConnection;
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.internal.xml.Resolver;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-import org.eclipse.jst.server.generic.servertype.definition.Project;
-import org.eclipse.jst.server.generic.servertype.definition.Publisher;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Server Runtime</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getProperty <em>Property</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup1 <em>Group1</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getPort <em>Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup2 <em>Group2</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getModule <em>Module</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getProject <em>Project</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getStart <em>Start</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getStop <em>Stop</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup3 <em>Group3</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getPublisher <em>Publisher</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getGroup4 <em>Group4</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getClasspath <em>Classpath</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getJndiConnection <em>Jndi Connection</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerRuntimeImpl#getVersion <em>Version</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ServerRuntimeImpl extends EObjectImpl implements ServerRuntime {
-	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group = null;
-
-	/**
-	 * The cached value of the '{@link #getGroup1() <em>Group1</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup1()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group1 = null;
-
-	/**
-	 * The cached value of the '{@link #getGroup2() <em>Group2</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup2()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group2 = null;
-
-	/**
-	 * The cached value of the '{@link #getProject() <em>Project</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getProject()
-	 * @generated
-	 * @ordered
-	 */
-	protected Project project = null;
-
-	/**
-	 * The cached value of the '{@link #getStart() <em>Start</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getStart()
-	 * @generated
-	 * @ordered
-	 */
-	protected LaunchConfiguration start = null;
-
-	/**
-	 * The cached value of the '{@link #getStop() <em>Stop</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getStop()
-	 * @generated
-	 * @ordered
-	 */
-	protected LaunchConfiguration stop = null;
-
-	/**
-	 * The cached value of the '{@link #getGroup3() <em>Group3</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup3()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group3 = null;
-
-	/**
-	 * The cached value of the '{@link #getGroup4() <em>Group4</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getGroup4()
-	 * @generated
-	 * @ordered
-	 */
-    protected FeatureMap group4 = null;
-
-	/**
-	 * The cached value of the '{@link #getJndiConnection() <em>Jndi Connection</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @see #getJndiConnection()
-	 * @generated
-	 * @ordered
-	 */
-    protected JndiConnection jndiConnection = null;
-
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getVersion()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VERSION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getVersion()
-	 * @generated
-	 * @ordered
-	 */
-	protected String version = VERSION_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroup()
-	 * @generated NOT
-	 * @ordered
-	 */
-	protected String filename = null;
-	
-
-	/**
-	 * The cached value of the '{@link #getGroup() <em>Group</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroup()
-	 * @generated NOT
-	 * @ordered
-	 */
-	protected Resolver resolver = new Resolver(this);
-	private String declaringConfigurationElementNamespace;
-    private String id =null;
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ServerRuntimeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ServerTypePackage.eINSTANCE.getServerRuntime();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup() {
-		if (group == null) {
-			group = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP);
-		}
-		return group;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public List getProperty() {
-		return ((FeatureMap)getGroup()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Property());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup1() {
-		if (group1 == null) {
-			group1 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP1);
-		}
-		return group1;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public List getPort() {
-		return ((FeatureMap)getGroup1()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Port());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup2() {
-		if (group2 == null) {
-			group2 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP2);
-		}
-		return group2;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public List getModule() {
-		return ((FeatureMap)getGroup2()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Module());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Project getProject() {
-		return project;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetProject(Project newProject, NotificationChain msgs) {
-		Project oldProject = project;
-		project = newProject;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__PROJECT, oldProject, newProject);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setProject(Project newProject) {
-		if (newProject != project) {
-			NotificationChain msgs = null;
-			if (project != null)
-				msgs = ((InternalEObject)project).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__PROJECT, null, msgs);
-			if (newProject != null)
-				msgs = ((InternalEObject)newProject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__PROJECT, null, msgs);
-			msgs = basicSetProject(newProject, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__PROJECT, newProject, newProject));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LaunchConfiguration getStart() {
-		return start;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetStart(LaunchConfiguration newStart, NotificationChain msgs) {
-		LaunchConfiguration oldStart = start;
-		start = newStart;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__START, oldStart, newStart);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setStart(LaunchConfiguration newStart) {
-		if (newStart != start) {
-			NotificationChain msgs = null;
-			if (start != null)
-				msgs = ((InternalEObject)start).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__START, null, msgs);
-			if (newStart != null)
-				msgs = ((InternalEObject)newStart).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__START, null, msgs);
-			msgs = basicSetStart(newStart, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__START, newStart, newStart));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LaunchConfiguration getStop() {
-		return stop;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetStop(LaunchConfiguration newStop, NotificationChain msgs) {
-		LaunchConfiguration oldStop = stop;
-		stop = newStop;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__STOP, oldStop, newStop);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setStop(LaunchConfiguration newStop) {
-		if (newStop != stop) {
-			NotificationChain msgs = null;
-			if (stop != null)
-				msgs = ((InternalEObject)stop).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__STOP, null, msgs);
-			if (newStop != null)
-				msgs = ((InternalEObject)newStop).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__STOP, null, msgs);
-			msgs = basicSetStop(newStop, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__STOP, newStop, newStop));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup3() {
-		if (group3 == null) {
-			group3 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP3);
-		}
-		return group3;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public List getPublisher() {
-		return ((FeatureMap)getGroup3()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Publisher());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public FeatureMap getGroup4() {
-		if (group4 == null) {
-			group4 = new BasicFeatureMap(this, ServerTypePackage.SERVER_RUNTIME__GROUP4);
-		}
-		return group4;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public List getClasspath() {
-		return ((FeatureMap)getGroup4()).list(ServerTypePackage.eINSTANCE.getServerRuntime_Classpath());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public JndiConnection getJndiConnection() {
-		return jndiConnection;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public NotificationChain basicSetJndiConnection(JndiConnection newJndiConnection, NotificationChain msgs) {
-		JndiConnection oldJndiConnection = jndiConnection;
-		jndiConnection = newJndiConnection;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, oldJndiConnection, newJndiConnection);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public void setJndiConnection(JndiConnection newJndiConnection) {
-		if (newJndiConnection != jndiConnection) {
-			NotificationChain msgs = null;
-			if (jndiConnection != null)
-				msgs = ((InternalEObject)jndiConnection).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, null, msgs);
-			if (newJndiConnection != null)
-				msgs = ((InternalEObject)newJndiConnection).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, null, msgs);
-			msgs = basicSetJndiConnection(newJndiConnection, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION, newJndiConnection, newJndiConnection));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getVersion() {
-		return version;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setVersion(String newVersion) {
-		String oldVersion = version;
-		version = newVersion;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ServerTypePackage.SERVER_RUNTIME__VERSION, oldVersion, version));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ServerTypePackage.SERVER_RUNTIME__GROUP:
-					return ((InternalEList)getGroup()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
-					return ((InternalEList)getProperty()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__GROUP1:
-					return ((InternalEList)getGroup1()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__PORT:
-					return ((InternalEList)getPort()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__GROUP2:
-					return ((InternalEList)getGroup2()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__MODULE:
-					return ((InternalEList)getModule()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__PROJECT:
-					return basicSetProject(null, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__START:
-					return basicSetStart(null, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__STOP:
-					return basicSetStop(null, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__GROUP3:
-					return ((InternalEList)getGroup3()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
-					return ((InternalEList)getPublisher()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__GROUP4:
-					return ((InternalEList)getGroup4()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
-					return ((InternalEList)getClasspath()).basicRemove(otherEnd, msgs);
-				case ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION:
-					return basicSetJndiConnection(null, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.SERVER_RUNTIME__GROUP:
-				return getGroup();
-			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
-				return getProperty();
-			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
-				return getGroup1();
-			case ServerTypePackage.SERVER_RUNTIME__PORT:
-				return getPort();
-			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
-				return getGroup2();
-			case ServerTypePackage.SERVER_RUNTIME__MODULE:
-				return getModule();
-			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
-				return getProject();
-			case ServerTypePackage.SERVER_RUNTIME__START:
-				return getStart();
-			case ServerTypePackage.SERVER_RUNTIME__STOP:
-				return getStop();
-			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
-				return getGroup3();
-			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
-				return getPublisher();
-			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
-				return getGroup4();
-			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
-				return getClasspath();
-			case ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION:
-				return getJndiConnection();
-			case ServerTypePackage.SERVER_RUNTIME__NAME:
-				return getName();
-			case ServerTypePackage.SERVER_RUNTIME__VERSION:
-				return getVersion();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.SERVER_RUNTIME__GROUP:
-				getGroup().clear();
-				getGroup().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
-				getProperty().clear();
-				getProperty().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
-				getGroup1().clear();
-				getGroup1().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PORT:
-				getPort().clear();
-				getPort().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
-				getGroup2().clear();
-				getGroup2().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__MODULE:
-				getModule().clear();
-				getModule().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
-				setProject((Project)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__START:
-				setStart((LaunchConfiguration)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__STOP:
-				setStop((LaunchConfiguration)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
-				getGroup3().clear();
-				getGroup3().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
-				getPublisher().clear();
-				getPublisher().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
-				getGroup4().clear();
-				getGroup4().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
-				getClasspath().clear();
-				getClasspath().addAll((Collection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION:
-				setJndiConnection((JndiConnection)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__NAME:
-				setName((String)newValue);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__VERSION:
-				setVersion((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.SERVER_RUNTIME__GROUP:
-				getGroup().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
-				getProperty().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
-				getGroup1().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PORT:
-				getPort().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
-				getGroup2().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__MODULE:
-				getModule().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
-				setProject((Project)null);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__START:
-				setStart((LaunchConfiguration)null);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__STOP:
-				setStop((LaunchConfiguration)null);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
-				getGroup3().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
-				getPublisher().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
-				getGroup4().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
-				getClasspath().clear();
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION:
-				setJndiConnection((JndiConnection)null);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case ServerTypePackage.SERVER_RUNTIME__VERSION:
-				setVersion(VERSION_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ServerTypePackage.SERVER_RUNTIME__GROUP:
-				return group != null && !group.isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__PROPERTY:
-				return !getProperty().isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__GROUP1:
-				return group1 != null && !group1.isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__PORT:
-				return !getPort().isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__GROUP2:
-				return group2 != null && !group2.isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__MODULE:
-				return !getModule().isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__PROJECT:
-				return project != null;
-			case ServerTypePackage.SERVER_RUNTIME__START:
-				return start != null;
-			case ServerTypePackage.SERVER_RUNTIME__STOP:
-				return stop != null;
-			case ServerTypePackage.SERVER_RUNTIME__GROUP3:
-				return group3 != null && !group3.isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__PUBLISHER:
-				return !getPublisher().isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__GROUP4:
-				return group4 != null && !group4.isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__CLASSPATH:
-				return !getClasspath().isEmpty();
-			case ServerTypePackage.SERVER_RUNTIME__JNDI_CONNECTION:
-				return jndiConnection != null;
-			case ServerTypePackage.SERVER_RUNTIME__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case ServerTypePackage.SERVER_RUNTIME__VERSION:
-				return VERSION_EDEFAULT == null ? version != null : !VERSION_EDEFAULT.equals(version);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (group: ");
-		result.append(group);
-		result.append(", group1: ");
-		result.append(group1);
-		result.append(", group2: ");
-		result.append(group2);
-		result.append(", group3: ");
-		result.append(group3);
-		result.append(", group4: ");
-		result.append(group4);
-		result.append(", name: ");
-		result.append(name);
-		result.append(", version: ");
-		result.append(version);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public Publisher getPublisher(String id) {
-		Iterator iterator = this.getPublisher().iterator();
-		while (iterator.hasNext()) {
-			Publisher publisher = (Publisher) iterator.next();
-			if(id.equals(publisher.getId()))
-				return publisher;
-		}
-		return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public Module getModule(String type) {
-		Iterator iterator = this.getModule().iterator();
-		while (iterator.hasNext()) {
-			Module module = (Module) iterator.next();
-			if(type.equals(module.getType()))
-				return module;
-		}
-		return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public Classpath getClasspath(String ref) {
-		Iterator iterator = this.getClasspath().iterator();
-		while (iterator.hasNext()) {
-			Classpath cp = (Classpath) iterator.next();
-			if(ref.equals(cp.getId()))
-				return cp;
-		}
-		return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public String getFilename() {
-		return filename;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public void setFilename(String fn) {
-		this.filename = fn;		
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public void setPropertyValues(Map properties) {
-		this.resolver.setPropertyValues(properties);
-		
-	}
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public Resolver getResolver() {
-		return this.resolver;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getDeclaringBundle()
-     */
-    public String getConfigurationElementNamespace() {
-           return declaringConfigurationElementNamespace;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#setConfigurationElementNamespace(java.lang.String)
-     */
-    public void setConfigurationElementNamespace(String namespace) {
-        this.declaringConfigurationElementNamespace=namespace;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-        
-    }
-	
-	
-} //ServerRuntimeImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
deleted file mode 100644
index 2843263..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypeFactoryImpl.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.*;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ServerTypeFactoryImpl extends EFactoryImpl implements ServerTypeFactory {
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerTypeFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case ServerTypePackage.ARCHIVE_TYPE: return createArchiveType();
-			case ServerTypePackage.ARGUMENT_PAIR: return createArgumentPair();
-			case ServerTypePackage.CLASSPATH: return createClasspath();
-			case ServerTypePackage.EXTERNAL: return createExternal();
-			case ServerTypePackage.JNDI_CONNECTION: return createJndiConnection();
-			case ServerTypePackage.LAUNCH_CONFIGURATION: return createLaunchConfiguration();
-			case ServerTypePackage.MODULE: return createModule();
-			case ServerTypePackage.PORT: return createPort();
-			case ServerTypePackage.PROJECT: return createProject();
-			case ServerTypePackage.PROPERTY: return createProperty();
-			case ServerTypePackage.PUBLISHER: return createPublisher();
-			case ServerTypePackage.PUBLISHER_DATA: return createPublisherData();
-			case ServerTypePackage.SERVER_RUNTIME: return createServerRuntime();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ArchiveType createArchiveType() {
-		ArchiveTypeImpl archiveType = new ArchiveTypeImpl();
-		return archiveType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ArgumentPair createArgumentPair() {
-		ArgumentPairImpl argumentPair = new ArgumentPairImpl();
-		return argumentPair;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Classpath createClasspath() {
-		ClasspathImpl classpath = new ClasspathImpl();
-		return classpath;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public External createExternal() {
-		ExternalImpl external = new ExternalImpl();
-		return external;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public JndiConnection createJndiConnection() {
-		JndiConnectionImpl jndiConnection = new JndiConnectionImpl();
-		return jndiConnection;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LaunchConfiguration createLaunchConfiguration() {
-		LaunchConfigurationImpl launchConfiguration = new LaunchConfigurationImpl();
-		return launchConfiguration;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Module createModule() {
-		ModuleImpl module = new ModuleImpl();
-		return module;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Port createPort() {
-		PortImpl port = new PortImpl();
-		return port;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Project createProject() {
-		ProjectImpl project = new ProjectImpl();
-		return project;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Property createProperty() {
-		PropertyImpl property = new PropertyImpl();
-		return property;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Publisher createPublisher() {
-		PublisherImpl publisher = new PublisherImpl();
-		return publisher;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public PublisherData createPublisherData() {
-		PublisherDataImpl publisherData = new PublisherDataImpl();
-		return publisherData;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerRuntime createServerRuntime() {
-		ServerRuntimeImpl serverRuntime = new ServerRuntimeImpl();
-		return serverRuntime;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerTypePackage getServerTypePackage() {
-		return (ServerTypePackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	public static ServerTypePackage getPackage() {
-		return ServerTypePackage.eINSTANCE;
-	}
-
-} //ServerTypeFactoryImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
deleted file mode 100644
index 2d7b771..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/impl/ServerTypePackageImpl.java
+++ /dev/null
@@ -1,1585 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.impl;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
-
-import org.eclipse.emf.ecore.xml.type.impl.XMLTypePackageImpl;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.ArgumentPair;
-import org.eclipse.jst.server.generic.servertype.definition.Classpath;
-import org.eclipse.jst.server.generic.servertype.definition.External;
-import org.eclipse.jst.server.generic.servertype.definition.JndiConnection;
-import org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration;
-import org.eclipse.jst.server.generic.servertype.definition.Module;
-import org.eclipse.jst.server.generic.servertype.definition.Port;
-import org.eclipse.jst.server.generic.servertype.definition.Project;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.Publisher;
-import org.eclipse.jst.server.generic.servertype.definition.PublisherData;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerTypeFactory;
-
-
-
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ServerTypePackageImpl extends EPackageImpl implements ServerTypePackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass archiveTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass argumentPairEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass classpathEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass externalEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    private EClass jndiConnectionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass launchConfigurationEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass moduleEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass portEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass projectEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass propertyEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass publisherEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    private EClass publisherDataEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass serverRuntimeEClass = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private ServerTypePackageImpl() {
-		super(eNS_URI, ServerTypeFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this
-	 * model, and for any others upon which it depends.  Simple
-	 * dependencies are satisfied by calling this method on all
-	 * dependent packages before doing anything else.  This method drives
-	 * initialization for interdependent packages directly, in parallel
-	 * with this package, itself.
-	 * <p>Of this package and its interdependencies, all packages which
-	 * have not yet been registered by their URI values are first created
-	 * and registered.  The packages are then initialized in two steps:
-	 * meta-model objects for all of the packages are created before any
-	 * are initialized, since one package's meta-model objects may refer to
-	 * those of another.
-	 * <p>Invocation of this method will not affect any packages that have
-	 * already been initialized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static ServerTypePackage init() {
-		if (isInited) return (ServerTypePackage)EPackage.Registry.INSTANCE.getEPackage(ServerTypePackage.eNS_URI);
-
-		// Obtain or create and register package
-		ServerTypePackageImpl theServerTypePackage = (ServerTypePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ServerTypePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ServerTypePackageImpl());
-
-		isInited = true;
-
-		// Initialize simple dependencies
-		XMLTypePackageImpl.init();
-
-		// Create package meta-data objects
-		theServerTypePackage.createPackageContents();
-
-		// Initialize created meta-data
-		theServerTypePackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theServerTypePackage.freeze();
-
-		return theServerTypePackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getArchiveType() {
-		return archiveTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArchiveType_Path() {
-		return (EAttribute)archiveTypeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getArgumentPair() {
-		return argumentPairEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArgumentPair_Name() {
-		return (EAttribute)argumentPairEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getArgumentPair_Value() {
-		return (EAttribute)argumentPairEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getClasspath() {
-		return classpathEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getClasspath_Group() {
-		return (EAttribute)classpathEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getClasspath_Archive() {
-		return (EReference)classpathEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getClasspath_Id() {
-		return (EAttribute)classpathEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getExternal() {
-		return externalEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getExternal_Value() {
-		return (EAttribute)externalEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getExternal_Os() {
-		return (EAttribute)externalEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EClass getJndiConnection() {
-		return jndiConnectionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getJndiConnection_ProviderUrl() {
-		return (EAttribute)jndiConnectionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getJndiConnection_Group() {
-		return (EAttribute)jndiConnectionEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getJndiConnection_JndiProperty() {
-		return (EReference)jndiConnectionEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getJndiConnection_InitialContextFactory() {
-		return (EAttribute)jndiConnectionEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getLaunchConfiguration() {
-		return launchConfigurationEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getLaunchConfiguration_MainClass() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group2() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_WorkingDirectory() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_ProgramArguments() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_VmParameters() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_ClasspathReference() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getLaunchConfiguration_External() {
-		return (EReference)launchConfigurationEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_DebugPort() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group3() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getLaunchConfiguration_EnvironmentVariable() {
-		return (EReference)launchConfigurationEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getLaunchConfiguration_Group1() {
-		return (EAttribute)launchConfigurationEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getModule() {
-		return moduleEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getModule_Type() {
-		return (EAttribute)moduleEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getModule_PublishDir() {
-		return (EAttribute)moduleEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getModule_PublisherReference() {
-		return (EAttribute)moduleEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPort() {
-		return portEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPort_No() {
-		return (EAttribute)portEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPort_Name() {
-		return (EAttribute)portEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPort_Protocol() {
-		return (EAttribute)portEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getProject() {
-		return projectEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProject_ClasspathReference() {
-		return (EAttribute)projectEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getProperty() {
-		return propertyEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProperty_Context() {
-		return (EAttribute)propertyEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProperty_Default() {
-		return (EAttribute)propertyEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProperty_Id() {
-		return (EAttribute)propertyEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProperty_Label() {
-		return (EAttribute)propertyEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProperty_Type() {
-		return (EAttribute)propertyEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getPublisher() {
-		return publisherEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getPublisher_Group() {
-		return (EAttribute)publisherEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getPublisher_Publisherdata() {
-		return (EReference)publisherEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getPublisher_Id() {
-		return (EAttribute)publisherEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EClass getPublisherData() {
-		return publisherDataEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getPublisherData_Dataname() {
-		return (EAttribute)publisherDataEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getPublisherData_Datavalue() {
-		return (EAttribute)publisherDataEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getServerRuntime() {
-		return serverRuntimeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getServerRuntime_Group() {
-		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getServerRuntime_Property() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getServerRuntime_Group1() {
-		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getServerRuntime_Port() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getServerRuntime_Group2() {
-		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getServerRuntime_Module() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getServerRuntime_Project() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getServerRuntime_Start() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getServerRuntime_Stop() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getServerRuntime_Group3() {
-		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getServerRuntime_Publisher() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(10);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EAttribute getServerRuntime_Group4() {
-		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(11);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getServerRuntime_Classpath() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(12);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @generated
-	 */
-    public EReference getServerRuntime_JndiConnection() {
-		return (EReference)serverRuntimeEClass.getEStructuralFeatures().get(13);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getServerRuntime_Name() {
-		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(14);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getServerRuntime_Version() {
-		return (EAttribute)serverRuntimeEClass.getEStructuralFeatures().get(15);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerTypeFactory getServerTypeFactory() {
-		return (ServerTypeFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		archiveTypeEClass = createEClass(ARCHIVE_TYPE);
-		createEAttribute(archiveTypeEClass, ARCHIVE_TYPE__PATH);
-
-		argumentPairEClass = createEClass(ARGUMENT_PAIR);
-		createEAttribute(argumentPairEClass, ARGUMENT_PAIR__NAME);
-		createEAttribute(argumentPairEClass, ARGUMENT_PAIR__VALUE);
-
-		classpathEClass = createEClass(CLASSPATH);
-		createEAttribute(classpathEClass, CLASSPATH__GROUP);
-		createEReference(classpathEClass, CLASSPATH__ARCHIVE);
-		createEAttribute(classpathEClass, CLASSPATH__ID);
-
-		externalEClass = createEClass(EXTERNAL);
-		createEAttribute(externalEClass, EXTERNAL__VALUE);
-		createEAttribute(externalEClass, EXTERNAL__OS);
-
-		jndiConnectionEClass = createEClass(JNDI_CONNECTION);
-		createEAttribute(jndiConnectionEClass, JNDI_CONNECTION__PROVIDER_URL);
-		createEAttribute(jndiConnectionEClass, JNDI_CONNECTION__GROUP);
-		createEReference(jndiConnectionEClass, JNDI_CONNECTION__JNDI_PROPERTY);
-		createEAttribute(jndiConnectionEClass, JNDI_CONNECTION__INITIAL_CONTEXT_FACTORY);
-
-		launchConfigurationEClass = createEClass(LAUNCH_CONFIGURATION);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP);
-		createEReference(launchConfigurationEClass, LAUNCH_CONFIGURATION__ENVIRONMENT_VARIABLE);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP1);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__PROGRAM_ARGUMENTS);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__WORKING_DIRECTORY);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__MAIN_CLASS);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP2);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__VM_PARAMETERS);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__CLASSPATH_REFERENCE);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__DEBUG_PORT);
-		createEAttribute(launchConfigurationEClass, LAUNCH_CONFIGURATION__GROUP3);
-		createEReference(launchConfigurationEClass, LAUNCH_CONFIGURATION__EXTERNAL);
-
-		moduleEClass = createEClass(MODULE);
-		createEAttribute(moduleEClass, MODULE__TYPE);
-		createEAttribute(moduleEClass, MODULE__PUBLISH_DIR);
-		createEAttribute(moduleEClass, MODULE__PUBLISHER_REFERENCE);
-
-		portEClass = createEClass(PORT);
-		createEAttribute(portEClass, PORT__NO);
-		createEAttribute(portEClass, PORT__NAME);
-		createEAttribute(portEClass, PORT__PROTOCOL);
-
-		projectEClass = createEClass(PROJECT);
-		createEAttribute(projectEClass, PROJECT__CLASSPATH_REFERENCE);
-
-		propertyEClass = createEClass(PROPERTY);
-		createEAttribute(propertyEClass, PROPERTY__CONTEXT);
-		createEAttribute(propertyEClass, PROPERTY__DEFAULT);
-		createEAttribute(propertyEClass, PROPERTY__ID);
-		createEAttribute(propertyEClass, PROPERTY__LABEL);
-		createEAttribute(propertyEClass, PROPERTY__TYPE);
-
-		publisherEClass = createEClass(PUBLISHER);
-		createEAttribute(publisherEClass, PUBLISHER__GROUP);
-		createEReference(publisherEClass, PUBLISHER__PUBLISHERDATA);
-		createEAttribute(publisherEClass, PUBLISHER__ID);
-
-		publisherDataEClass = createEClass(PUBLISHER_DATA);
-		createEAttribute(publisherDataEClass, PUBLISHER_DATA__DATANAME);
-		createEAttribute(publisherDataEClass, PUBLISHER_DATA__DATAVALUE);
-
-		serverRuntimeEClass = createEClass(SERVER_RUNTIME);
-		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PROPERTY);
-		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP1);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PORT);
-		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP2);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__MODULE);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PROJECT);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__START);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__STOP);
-		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP3);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__PUBLISHER);
-		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__GROUP4);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__CLASSPATH);
-		createEReference(serverRuntimeEClass, SERVER_RUNTIME__JNDI_CONNECTION);
-		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__NAME);
-		createEAttribute(serverRuntimeEClass, SERVER_RUNTIME__VERSION);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Obtain other dependent packages
-		XMLTypePackageImpl theXMLTypePackage = (XMLTypePackageImpl)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
-
-		// Add supertypes to classes
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(archiveTypeEClass, ArchiveType.class, "ArchiveType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getArchiveType_Path(), theXMLTypePackage.getString(), "path", null, 0, 1, ArchiveType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(argumentPairEClass, ArgumentPair.class, "ArgumentPair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getArgumentPair_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ArgumentPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getArgumentPair_Value(), theXMLTypePackage.getString(), "value", null, 1, 1, ArgumentPair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(classpathEClass, Classpath.class, "Classpath", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getClasspath_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, Classpath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getClasspath_Archive(), this.getArchiveType(), null, "archive", null, 1, -1, Classpath.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getClasspath_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Classpath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(externalEClass, External.class, "External", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getExternal_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, External.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getExternal_Os(), theXMLTypePackage.getString(), "os", null, 0, 1, External.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(jndiConnectionEClass, JndiConnection.class, "JndiConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getJndiConnection_ProviderUrl(), theXMLTypePackage.getString(), "providerUrl", null, 1, 1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJndiConnection_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getJndiConnection_JndiProperty(), this.getArgumentPair(), null, "jndiProperty", null, 0, -1, JndiConnection.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJndiConnection_InitialContextFactory(), theXMLTypePackage.getString(), "initialContextFactory", null, 1, 1, JndiConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(launchConfigurationEClass, LaunchConfiguration.class, "LaunchConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getLaunchConfiguration_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getLaunchConfiguration_EnvironmentVariable(), this.getArgumentPair(), null, "environmentVariable", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_Group1(), ecorePackage.getEFeatureMapEntry(), "group1", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_ProgramArguments(), theXMLTypePackage.getString(), "programArguments", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_WorkingDirectory(), theXMLTypePackage.getString(), "workingDirectory", null, 1, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_MainClass(), theXMLTypePackage.getString(), "mainClass", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_Group2(), ecorePackage.getEFeatureMapEntry(), "group2", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_VmParameters(), theXMLTypePackage.getString(), "vmParameters", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_ClasspathReference(), theXMLTypePackage.getString(), "classpathReference", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_DebugPort(), theXMLTypePackage.getString(), "debugPort", null, 0, 1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLaunchConfiguration_Group3(), ecorePackage.getEFeatureMapEntry(), "group3", null, 0, -1, LaunchConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getLaunchConfiguration_External(), this.getExternal(), null, "external", null, 0, -1, LaunchConfiguration.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-
-		initEClass(moduleEClass, Module.class, "Module", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getModule_Type(), theXMLTypePackage.getString(), "type", null, 1, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getModule_PublishDir(), theXMLTypePackage.getString(), "publishDir", null, 1, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getModule_PublisherReference(), theXMLTypePackage.getString(), "publisherReference", null, 1, 1, Module.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(portEClass, Port.class, "Port", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getPort_No(), theXMLTypePackage.getString(), "no", null, 1, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPort_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPort_Protocol(), theXMLTypePackage.getString(), "protocol", null, 1, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(projectEClass, Project.class, "Project", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getProject_ClasspathReference(), theXMLTypePackage.getString(), "classpathReference", null, 1, 1, Project.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getProperty_Context(), theXMLTypePackage.getString(), "context", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getProperty_Default(), theXMLTypePackage.getString(), "default", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getProperty_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getProperty_Label(), theXMLTypePackage.getString(), "label", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getProperty_Type(), theXMLTypePackage.getString(), "type", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(publisherEClass, Publisher.class, "Publisher", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getPublisher_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getPublisher_Publisherdata(), this.getPublisherData(), null, "publisherdata", null, 1, -1, Publisher.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPublisher_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(publisherDataEClass, PublisherData.class, "PublisherData", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getPublisherData_Dataname(), theXMLTypePackage.getString(), "dataname", null, 1, 1, PublisherData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getPublisherData_Datavalue(), theXMLTypePackage.getString(), "datavalue", null, 1, 1, PublisherData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(serverRuntimeEClass, ServerRuntime.class, "ServerRuntime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getServerRuntime_Group(), ecorePackage.getEFeatureMapEntry(), "group", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Property(), this.getProperty(), null, "property", null, 0, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getServerRuntime_Group1(), ecorePackage.getEFeatureMapEntry(), "group1", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Port(), this.getPort(), null, "port", null, 0, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getServerRuntime_Group2(), ecorePackage.getEFeatureMapEntry(), "group2", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Module(), this.getModule(), null, "module", null, 1, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Project(), this.getProject(), null, "project", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Start(), this.getLaunchConfiguration(), null, "start", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Stop(), this.getLaunchConfiguration(), null, "stop", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getServerRuntime_Group3(), ecorePackage.getEFeatureMapEntry(), "group3", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Publisher(), this.getPublisher(), null, "publisher", null, 0, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEAttribute(getServerRuntime_Group4(), ecorePackage.getEFeatureMapEntry(), "group4", null, 0, -1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_Classpath(), this.getClasspath(), null, "classpath", null, 1, -1, ServerRuntime.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
-		initEReference(getServerRuntime_JndiConnection(), this.getJndiConnection(), null, "jndiConnection", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getServerRuntime_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getServerRuntime_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, ServerRuntime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		// Create resource
-		createResource(eNS_URI);
-
-		// Create annotations
-		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
-		createExtendedMetaDataAnnotations();
-	}
-
-	/**
-	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void createExtendedMetaDataAnnotations() {
-		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";		
-		addAnnotation
-		  (archiveTypeEClass, 
-		   source, 
-		   new String[] {
-			 "name", "archive_._type",
-			 "kind", "empty"
-		   });		
-		addAnnotation
-		  (getArchiveType_Path(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "path"
-		   });		
-		addAnnotation
-		  (argumentPairEClass, 
-		   source, 
-		   new String[] {
-			 "name", "ArgumentPair",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getArgumentPair_Name(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "name"
-		   });		
-		addAnnotation
-		  (getArgumentPair_Value(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "value"
-		   });		
-		addAnnotation
-		  (classpathEClass, 
-		   source, 
-		   new String[] {
-			 "name", "Classpath",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getClasspath_Group(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:0"
-		   });		
-		addAnnotation
-		  (getClasspath_Archive(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "archive",
-			 "group", "#group:0"
-		   });		
-		addAnnotation
-		  (getClasspath_Id(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "id"
-		   });		
-		addAnnotation
-		  (externalEClass, 
-		   source, 
-		   new String[] {
-			 "name", "External",
-			 "kind", "simple"
-		   });		
-		addAnnotation
-		  (getExternal_Value(), 
-		   source, 
-		   new String[] {
-			 "name", ":0",
-			 "kind", "simple"
-		   });		
-		addAnnotation
-		  (getExternal_Os(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "os"
-		   });		
-		addAnnotation
-		  (jndiConnectionEClass, 
-		   source, 
-		   new String[] {
-			 "name", "jndiConnection",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getJndiConnection_ProviderUrl(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "providerUrl"
-		   });		
-		addAnnotation
-		  (getJndiConnection_Group(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:1"
-		   });		
-		addAnnotation
-		  (getJndiConnection_JndiProperty(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "jndiProperty",
-			 "group", "#group:1"
-		   });		
-		addAnnotation
-		  (getJndiConnection_InitialContextFactory(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "initialContextFactory"
-		   });		
-		addAnnotation
-		  (launchConfigurationEClass, 
-		   source, 
-		   new String[] {
-			 "name", "LaunchConfiguration",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:0"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_EnvironmentVariable(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "environmentVariable",
-			 "group", "#group:0"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group1(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:2"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_ProgramArguments(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "programArguments",
-			 "group", "#group:2"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_WorkingDirectory(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "workingDirectory"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_MainClass(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "mainClass"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group2(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:6"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_VmParameters(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "vmParameters",
-			 "group", "#group:6"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_ClasspathReference(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "classpathReference"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_DebugPort(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "debugPort"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_Group3(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:10"
-		   });		
-		addAnnotation
-		  (getLaunchConfiguration_External(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "external",
-			 "group", "#group:10"
-		   });		
-		addAnnotation
-		  (moduleEClass, 
-		   source, 
-		   new String[] {
-			 "name", "Module",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getModule_Type(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "type"
-		   });		
-		addAnnotation
-		  (getModule_PublishDir(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "publishDir"
-		   });		
-		addAnnotation
-		  (getModule_PublisherReference(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "publisherReference"
-		   });		
-		addAnnotation
-		  (portEClass, 
-		   source, 
-		   new String[] {
-			 "name", "Port",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getPort_No(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "no"
-		   });		
-		addAnnotation
-		  (getPort_Name(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "name"
-		   });		
-		addAnnotation
-		  (getPort_Protocol(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "protocol"
-		   });		
-		addAnnotation
-		  (projectEClass, 
-		   source, 
-		   new String[] {
-			 "name", "Project",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getProject_ClasspathReference(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "classpathReference"
-		   });		
-		addAnnotation
-		  (propertyEClass, 
-		   source, 
-		   new String[] {
-			 "name", "Property",
-			 "kind", "empty"
-		   });		
-		addAnnotation
-		  (getProperty_Context(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "context"
-		   });		
-		addAnnotation
-		  (getProperty_Default(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "default"
-		   });		
-		addAnnotation
-		  (getProperty_Id(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "id"
-		   });		
-		addAnnotation
-		  (getProperty_Label(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "label"
-		   });		
-		addAnnotation
-		  (getProperty_Type(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "type"
-		   });		
-		addAnnotation
-		  (publisherEClass, 
-		   source, 
-		   new String[] {
-			 "name", "Publisher",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getPublisher_Group(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:0"
-		   });		
-		addAnnotation
-		  (getPublisher_Publisherdata(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "publisherdata",
-			 "group", "#group:0"
-		   });		
-		addAnnotation
-		  (getPublisher_Id(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "id"
-		   });		
-		addAnnotation
-		  (publisherDataEClass, 
-		   source, 
-		   new String[] {
-			 "name", "PublisherData",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getPublisherData_Dataname(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "dataname"
-		   });		
-		addAnnotation
-		  (getPublisherData_Datavalue(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "datavalue"
-		   });			
-		addAnnotation
-		  (serverRuntimeEClass, 
-		   source, 
-		   new String[] {
-			 "name", "ServerRuntime",
-			 "kind", "elementOnly"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Group(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:0"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Property(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "property",
-			 "group", "#group:0"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Group1(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:2"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Port(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "port",
-			 "group", "#group:2"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Group2(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:4"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Module(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "module",
-			 "group", "#group:4"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Project(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "project"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Start(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "start"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Stop(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "stop"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Group3(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:9"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Publisher(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "publisher",
-			 "group", "#group:9"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Group4(), 
-		   source, 
-		   new String[] {
-			 "kind", "group",
-			 "name", "group:11"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Classpath(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "classpath",
-			 "group", "#group:11"
-		   });		
-		addAnnotation
-		  (getServerRuntime_JndiConnection(), 
-		   source, 
-		   new String[] {
-			 "kind", "element",
-			 "name", "jndiConnection"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Name(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "name"
-		   });		
-		addAnnotation
-		  (getServerRuntime_Version(), 
-		   source, 
-		   new String[] {
-			 "kind", "attribute",
-			 "name", "version"
-		   });
-	}
-
-} //ServerTypePackageImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
deleted file mode 100644
index ae5f826..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeAdapterFactory.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage
- * @generated
- */
-public class ServerTypeAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static ServerTypePackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerTypeAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = ServerTypePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch the delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ServerTypeSwitch modelSwitch =
-		new ServerTypeSwitch() {
-			public Object caseArchiveType(ArchiveType object) {
-				return createArchiveTypeAdapter();
-			}
-			public Object caseArgumentPair(ArgumentPair object) {
-				return createArgumentPairAdapter();
-			}
-			public Object caseClasspath(Classpath object) {
-				return createClasspathAdapter();
-			}
-			public Object caseExternal(External object) {
-				return createExternalAdapter();
-			}
-			public Object caseJndiConnection(JndiConnection object) {
-				return createJndiConnectionAdapter();
-			}
-			public Object caseLaunchConfiguration(LaunchConfiguration object) {
-				return createLaunchConfigurationAdapter();
-			}
-			public Object caseModule(Module object) {
-				return createModuleAdapter();
-			}
-			public Object casePort(Port object) {
-				return createPortAdapter();
-			}
-			public Object caseProject(Project object) {
-				return createProjectAdapter();
-			}
-			public Object caseProperty(Property object) {
-				return createPropertyAdapter();
-			}
-			public Object casePublisher(Publisher object) {
-				return createPublisherAdapter();
-			}
-			public Object casePublisherData(PublisherData object) {
-				return createPublisherDataAdapter();
-			}
-			public Object caseServerRuntime(ServerRuntime object) {
-				return createServerRuntimeAdapter();
-			}
-			public Object defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	public Adapter createAdapter(Notifier target) {
-		return (Adapter)modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType <em>Archive Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArchiveType
-	 * @generated
-	 */
-	public Adapter createArchiveTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair <em>Argument Pair</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ArgumentPair
-	 * @generated
-	 */
-	public Adapter createArgumentPairAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath <em>Classpath</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Classpath
-	 * @generated
-	 */
-	public Adapter createClasspathAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.External <em>External</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.External
-	 * @generated
-	 */
-	public Adapter createExternalAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection <em>Jndi Connection</em>}'.
-	 * <!-- begin-user-doc -->
-     * This default implementation returns null so that we can easily ignore cases;
-     * it's useful to ignore a case when inheritance will catch all the cases anyway.
-     * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.JndiConnection
-	 * @generated
-	 */
-    public Adapter createJndiConnectionAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration <em>Launch Configuration</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration
-	 * @generated
-	 */
-	public Adapter createLaunchConfigurationAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Module <em>Module</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Module
-	 * @generated
-	 */
-	public Adapter createModuleAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Port <em>Port</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Port
-	 * @generated
-	 */
-	public Adapter createPortAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Project <em>Project</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Project
-	 * @generated
-	 */
-	public Adapter createProjectAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Property <em>Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Property
-	 * @generated
-	 */
-	public Adapter createPropertyAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher <em>Publisher</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.Publisher
-	 * @generated
-	 */
-	public Adapter createPublisherAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData <em>Publisher Data</em>}'.
-	 * <!-- begin-user-doc -->
-     * This default implementation returns null so that we can easily ignore cases;
-     * it's useful to ignore a case when inheritance will catch all the cases anyway.
-     * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.PublisherData
-	 * @generated
-	 */
-    public Adapter createPublisherDataAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime <em>Server Runtime</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.jst.server.generic.servertype.definition.ServerRuntime
-	 * @generated
-	 */
-	public Adapter createServerRuntimeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //ServerTypeAdapterFactory
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
deleted file mode 100644
index 4488177..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceFactoryImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource Factory</b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.util.ServerTypeResourceImpl
- * @generated
- */
-public class ServerTypeResourceFactoryImpl extends ResourceFactoryImpl {
-	/**
-	 * Creates an instance of the resource factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerTypeResourceFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * Creates an instance of the resource.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Resource createResource(URI uri) {
-		XMLResource result = new ServerTypeResourceImpl(uri);
-		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
-
-		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
-		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
-
-		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
-		return result;
-	}
-
-} //ServerTypeResourceFactoryImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceImpl.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceImpl.java
deleted file mode 100644
index 33c691d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeResourceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.util;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Resource </b> associated with the package.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.util.ServerTypeResourceFactoryImpl
- * @generated
- */
-public class ServerTypeResourceImpl extends XMLResourceImpl {
-	/**
-	 * Creates an instance of the resource.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param uri the URI of the new resource.
-	 * @generated
-	 */
-	public ServerTypeResourceImpl(URI uri) {
-		super(uri);
-	}
-
-} //ServerTypeResourceFactoryImpl
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
deleted file mode 100644
index 2b8bd8d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/servertype/definition/util/ServerTypeSwitch.java
+++ /dev/null
@@ -1,386 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.internal.servertype.definition.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.servertype.definition.*;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage
- * @generated
- */
-public class ServerTypeSwitch {
-	/**
-	 * The cached model package
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static ServerTypePackage modelPackage;
-
-	/**
-	 * Creates an instance of the switch.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ServerTypeSwitch() {
-		if (modelPackage == null) {
-			modelPackage = ServerTypePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	public Object doSwitch(EObject theEObject) {
-		return doSwitch(theEObject.eClass(), theEObject);
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(EClass theEClass, EObject theEObject) {
-		if (theEClass.eContainer() == modelPackage) {
-			return doSwitch(theEClass.getClassifierID(), theEObject);
-		}
-		else {
-			List eSuperTypes = theEClass.getESuperTypes();
-			return
-				eSuperTypes.isEmpty() ?
-					defaultCase(theEObject) :
-					doSwitch((EClass)eSuperTypes.get(0), theEObject);
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(int classifierID, EObject theEObject) {
-		switch (classifierID) {
-			case ServerTypePackage.ARCHIVE_TYPE: {
-				ArchiveType archiveType = (ArchiveType)theEObject;
-				Object result = caseArchiveType(archiveType);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.ARGUMENT_PAIR: {
-				ArgumentPair argumentPair = (ArgumentPair)theEObject;
-				Object result = caseArgumentPair(argumentPair);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.CLASSPATH: {
-				Classpath classpath = (Classpath)theEObject;
-				Object result = caseClasspath(classpath);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.EXTERNAL: {
-				External external = (External)theEObject;
-				Object result = caseExternal(external);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.JNDI_CONNECTION: {
-				JndiConnection jndiConnection = (JndiConnection)theEObject;
-				Object result = caseJndiConnection(jndiConnection);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.LAUNCH_CONFIGURATION: {
-				LaunchConfiguration launchConfiguration = (LaunchConfiguration)theEObject;
-				Object result = caseLaunchConfiguration(launchConfiguration);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.MODULE: {
-				Module module = (Module)theEObject;
-				Object result = caseModule(module);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.PORT: {
-				Port port = (Port)theEObject;
-				Object result = casePort(port);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.PROJECT: {
-				Project project = (Project)theEObject;
-				Object result = caseProject(project);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.PROPERTY: {
-				Property property = (Property)theEObject;
-				Object result = caseProperty(property);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.PUBLISHER: {
-				Publisher publisher = (Publisher)theEObject;
-				Object result = casePublisher(publisher);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.PUBLISHER_DATA: {
-				PublisherData publisherData = (PublisherData)theEObject;
-				Object result = casePublisherData(publisherData);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ServerTypePackage.SERVER_RUNTIME: {
-				ServerRuntime serverRuntime = (ServerRuntime)theEObject;
-				Object result = caseServerRuntime(serverRuntime);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			default: return defaultCase(theEObject);
-		}
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Archive Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Archive Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseArchiveType(ArchiveType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Argument Pair</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Argument Pair</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseArgumentPair(ArgumentPair object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Classpath</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Classpath</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseClasspath(Classpath object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>External</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>External</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseExternal(External object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Jndi Connection</em>'.
-	 * <!-- begin-user-doc -->
-     * This implementation returns null;
-     * returning a non-null result will terminate the switch.
-     * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Jndi Connection</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-    public Object caseJndiConnection(JndiConnection object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Launch Configuration</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Launch Configuration</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseLaunchConfiguration(LaunchConfiguration object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Module</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Module</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseModule(Module object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Port</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Port</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object casePort(Port object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Project</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Project</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseProject(Project object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Property</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Property</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseProperty(Property object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Publisher</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Publisher</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object casePublisher(Publisher object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Publisher Data</em>'.
-	 * <!-- begin-user-doc -->
-     * This implementation returns null;
-     * returning a non-null result will terminate the switch.
-     * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Publisher Data</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-    public Object casePublisherData(PublisherData object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Server Runtime</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Server Runtime</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseServerRuntime(ServerRuntime object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch, but this is the last case anyway.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	public Object defaultCase(EObject object) {
-		return null;
-	}
-
-} //ServerTypeSwitch
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java
deleted file mode 100644
index 1beb060..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/Resolver.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-package org.eclipse.jst.server.generic.internal.xml;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.servertype.definition.ArchiveType;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-
-/**
- * Utility to resolve serverdef properties with the user provided data.
- * 
- * @author Gorkem Ercan
- */
-public class Resolver {
-	
-	private static final String PROP_START2 = "%{"; //$NON-NLS-1$
-	private static final String PROP_END = "}"; //$NON-NLS-1$
-	private static final String PROP_START = "${"; //$NON-NLS-1$
-	private Map fPropertyValues = new HashMap();
-	private ServerRuntime server;
-
-	/**
-	 * @param runtime 
-	 */
-	public Resolver(ServerRuntime runtime) {
-		this.server = runtime;
-	}
-	
-	/**
-	 * Resolves a classpath element.
-	 * 
-	 * @param cpList
-	 * @return list
-	 */
-	public List resolveClasspathProperties(List cpList)
-	{
-		ArrayList list = new ArrayList(cpList.size());
-		for (int i = 0; i < cpList.size(); i++) {
-			ArchiveType item = (ArchiveType) cpList.get(i);
-			String cpath = resolveProperties(item.getPath());
-			list.add(cpath);
-		}
-		return list;
-	}	
-	/**
-	 * Returns a resolved string.
-	 * @param proppedString
-	 * @return resolved string
-	 */
-	public String resolveProperties(String proppedString) {
-		HashMap cache = new HashMap(getProperties().size());
-		Iterator itr = getProperties().iterator();
-		while (itr.hasNext()) {
-			Property element =(Property) itr.next();
-			String value = element.getDefault();
-			if(fPropertyValues != null && fPropertyValues.containsKey(element.getId()))
-			    value=(String)fPropertyValues.get(element.getId());
-			if(Property.TYPE_DIRECTORY.equals(element.getType()) || Property.TYPE_FILE.equals(element.getType()))
-				value = value.replace('\\','/');
-			 cache.put(element.getId(), value);
-		}
-		//String vmPath = install.getInstallLocation().getCanonicalPath();
-		//vmPath = vmPath.replace('\\', '/');
-		cache.put("jrePath", "JRE"); //$NON-NLS-1$ //$NON-NLS-2$
-		cache.put("pathChar", File.pathSeparator); //$NON-NLS-1$
-
-		String str = resolvePropertiesFromCache(proppedString, cache);
-		str = fixPassthroughProperties(str);
-		return str;
-	}
-
-	private List getProperties() {
-		return this.server.getProperty();
-	}
-
-	private String fixPassthroughProperties(String str) {
-		String resolvedString = str;
-		if (isPassPropertyLeft(resolvedString)) {
-			resolvedString = fixParam(resolvedString);
-			resolvedString = fixPassthroughProperties(resolvedString);
-		}
-		return resolvedString;
-	}
-
-	private String resolvePropertiesFromCache(
-		String proppedString,
-		HashMap cache) {
-		String resolvedString = proppedString;
-		int start = skipToProperty(resolvedString,cache);
-		if (start >= 0) {
-			resolvedString = resolveProperty(resolvedString, start, cache);
-			resolvedString = resolvePropertiesFromCache(resolvedString, cache);
-		}
-		return resolvedString;
-	}
-
-	private int skipToProperty(String str,HashMap cache) {
-		int start = -1; 
-		int end =  0;
-		String value = null;
-		do {
-			start =  str.indexOf(PROP_START,end);
-			if( start < 0)
-				return start;
-			end = str.indexOf(PROP_END, start);
-			
-			String key = str.substring(start + 2, end);
-			value = (String)cache.get(key);
-		}
-		while(value == null);
-		return start;
-	}
-	
-	private boolean isPassPropertyLeft(String str) {
-		return str.indexOf(PROP_START2) >= 0;
-	}
-
-	private String resolveProperty(String proppedString, int start, HashMap cache) {
-		String str = proppedString;
-		start = str.indexOf(PROP_START);
-		int end = str.indexOf(PROP_END, start);
-		String key = str.substring(start + 2, end);
-		String value = (String)cache.get(key);
-		if(value == null )
-			return str;
-		return str.substring(0, start)
-			+ value
-			+ str.substring(end + 1);
-	}
-	
-	private String fixParam(String proppedString) {
-		String str = proppedString;
-		int start = str.indexOf(PROP_START2);
-		return str.substring(0, start)
-			+ PROP_START
-			+ str.substring(start+2);
-	}
-	
-	/**
-	 * @return Returns the fPropertyValues.
-	 */
-	public Map getPropertyValues() {
-		return fPropertyValues;
-	}
-	/**
-	 * @param propertyValues The fPropertyValues to set.
-	 */
-	public void setPropertyValues(Map propertyValues) {
-		fPropertyValues = propertyValues;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
deleted file mode 100644
index 247d777..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/xml/XMLUtils.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-package org.eclipse.jst.server.generic.internal.xml;
-
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.common.util.WrappedException;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.core.internal.Trace;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-import org.eclipse.jst.server.generic.internal.servertype.definition.util.ServerTypeResourceFactoryImpl;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.osgi.framework.Bundle;
-
-/**
- * Utility for handling the xml data from .serverdef files
- * 
- * @author Gorkem Ercan
- */
-public class XMLUtils {
-
-	
-    private ArrayList definitions;
-
-
-	/**
-	 * Constructor
-	 */
-	public XMLUtils() {
-		refresh();
-	}
-
-	private void refresh() {
-		definitions= new ArrayList();
-         IExtension[] extensions = ExtensionPointUtil.getGenericServerDefinitionExtensions();
-        for (int i = 0; extensions!=null && i < extensions.length; i++) {
-            java.net.URI definitionFile=null;
-            IExtension extension = extensions[i];
-            IConfigurationElement[] elements = ExtensionPointUtil.getConfigurationElements(extension);
-            for (int j = 0; j < elements.length; j++) {
-                IConfigurationElement element = elements[j];
-                definitionFile = getDefinitionFile(element);
-                ServerRuntime runtime =readFile(definitionFile);
-                    if(runtime!=null){
-                        runtime.setId(element.getAttribute("id")); //$NON-NLS-1$
-                        runtime.setConfigurationElementNamespace(element.getNamespace());
-                        definitions.add(runtime);
-                    }
-                }
-            }
-
-       }
-
-
-
-    private java.net.URI getDefinitionFile(IConfigurationElement element) {
-        
-        Bundle bundle = Platform.getBundle(element.getNamespace());
-        String definitionFile = element.getAttribute("definitionfile"); //$NON-NLS-1$
-        Trace.trace(Trace.FINEST,"Loading serverdef file "+definitionFile+" from bundle "+bundle.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-        
-        URL url = bundle.getEntry(definitionFile);
-		try {
-			java.net.URI uri = new java.net.URI(url.getProtocol(), url.getHost(),url.getPath(), url.getQuery());
-		    return uri;
-		} catch (URISyntaxException e) {
-			//ignore
-		}
-        return null;
-    }
-
-    private ServerRuntime readFile(java.net.URI file) {
-        // Create a resource set.
-        ResourceSet resourceSet = new ResourceSetImpl();
-
-        // Register the default resource factory -- only needed for
-        // stand-alone!
-        resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
-                .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
-                        new ServerTypeResourceFactoryImpl());
-
-         ServerTypePackage gstPack = ServerTypePackage.eINSTANCE;
-
-        // Get the URI of the model file.
-        URI fileURI = URI.createURI(file.toString());
-
-        // Demand load the resource for this file.
-        Resource resource = null;
-        try {
-            resource = resourceSet.getResource(fileURI, true);
-        } catch (WrappedException e) {
-            // sth wrong with this .server file.
-            CorePlugin.getDefault().getLog().log(
-                    new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 1,
-                            "Error loading the server type definition", e)); //$NON-NLS-1$
-        }
-
-        if (resource != null) {
-            ServerRuntime def = (ServerRuntime) resource.getContents().get(0);
-            if (def != null) {
-                def.setFilename(file.toString());
-                return def;
-            }
-        }
-        return null;
-
-    }
-
-
-	/**
-	 * @return ArrayList
-	 */
-	public ArrayList getServerTypeDefinitions() {
-		return definitions;
-	}
-
-    /**
-     * Get the memory presentation for the .serverdef file
-     * @param id
-     * @return serverRuntime
-     */
-    public ServerRuntime getServerTypeDefinition(String id) {
-    	Iterator defs = getServerTypeDefinitions().iterator();
-        while (defs.hasNext()) {
-            ServerRuntime elem = (ServerRuntime) defs.next();
-            if (id.equals(elem.getId()))
-                return elem;
-        }
-        return null;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java
deleted file mode 100644
index 4c5e6b0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArchiveType.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Archive Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArchiveType()
- * @model extendedMetaData="name='archive_._type' kind='empty'"
- * @generated
- */
-public interface ArchiveType extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Path</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Path</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-     * 
-	 * </p>
-	 * 
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Path</em>' attribute.
-	 * @see #setPath(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArchiveType_Path()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='path'"
-	 * @generated
-	 */
-	String getPath();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Path</em>' attribute.
-     * @see #getPath()
-     * @generated
-     */
-//	void setPath(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType#getPath <em>Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Path</em>' attribute.
-	 * @see #getPath()
-	 * @generated
-	 */
-	void setPath(String value);
-
-} // ArchiveType
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java
deleted file mode 100644
index 986987a..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ArgumentPair.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Argument Pair</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArgumentPair()
- * @model extendedMetaData="name='ArgumentPair' kind='elementOnly'"
- * @generated
- */
-public interface ArgumentPair extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArgumentPair_Name()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='name'"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getArgumentPair_Value()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='value'"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-} // ArgumentPair
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java
deleted file mode 100644
index 575d6b0..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Classpath.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.util.FeatureMap;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Classpath</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getArchive <em>Archive</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getClasspath()
- * @model extendedMetaData="name='Classpath' kind='elementOnly'"
- * @generated
- */
-public interface Classpath extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getClasspath_Group()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:0'"
-	 * @generated
-	 */
-	FeatureMap getGroup();
-
-	/**
-	 * Returns the value of the '<em><b>Archive</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.ArchiveType}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Archive</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Archive</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getClasspath_Archive()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArchiveType" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='archive' group='#group:0'"
-	 * @generated
-	 */
-	List getArchive();
-
-	/**
-	 * Returns the value of the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Id</em>' attribute.
-	 * @see #setId(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getClasspath_Id()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='id'"
-	 * @generated
-	 */
-	String getId();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#getId <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Id</em>' attribute.
-	 * @see #getId()
-	 * @generated
-	 */
-	void setId(String value);
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Is Library</em>' attribute.
-     * @see #isSetIsLibrary()
-     * @see #unsetIsLibrary()
-     * @see #isIsLibrary()
-     * @generated
-     */
-//	void setIsLibrary(boolean value);
-
-    /**
-     * Unsets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @see #isSetIsLibrary()
-     * @see #isIsLibrary()
-     * @see #setIsLibrary(boolean)
-     * @generated
-     */
-//	void unsetIsLibrary();
-
-    /**
-     * Returns whether the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Classpath#isIsLibrary <em>Is Library</em>}' attribute is set.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @return whether the value of the '<em>Is Library</em>' attribute is set.
-     * @see #unsetIsLibrary()
-     * @see #isIsLibrary()
-     * @see #setIsLibrary(boolean)
-     * @generated
-     */
-//	boolean isSetIsLibrary();
-
-} // Classpath
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java
deleted file mode 100644
index e39228d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/External.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>External</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.External#getValue <em>Value</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.External#getOs <em>Os</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getExternal()
- * @model extendedMetaData="name='External' kind='simple'"
- * @generated
- */
-public interface External extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getExternal_Value()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="name=':0' kind='simple'"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.External#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Os</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Os</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Os</em>' attribute.
-	 * @see #setOs(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getExternal_Os()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='os'"
-	 * @generated
-	 */
-	String getOs();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.External#getOs <em>Os</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Os</em>' attribute.
-	 * @see #getOs()
-	 * @generated
-	 */
-	void setOs(String value);
-
-} // External
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
deleted file mode 100644
index 2f19c5e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/JndiConnection.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.util.FeatureMap;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Jndi Connection</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl <em>Provider Url</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getJndiProperty <em>Jndi Property</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory <em>Initial Context Factory</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiConnection()
- * @model extendedMetaData="name='jndiConnection' kind='elementOnly'"
- * @generated
- */
-public interface JndiConnection extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Provider Url</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Provider Url</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Provider Url</em>' attribute.
-	 * @see #setProviderUrl(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiConnection_ProviderUrl()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='providerUrl'"
-	 * @generated
-	 */
-    String getProviderUrl();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getProviderUrl <em>Provider Url</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Provider Url</em>' attribute.
-	 * @see #getProviderUrl()
-	 * @generated
-	 */
-	void setProviderUrl(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiConnection_Group()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:1'"
-	 * @generated
-	 */
-	FeatureMap getGroup();
-
-	/**
-	 * Returns the value of the '<em><b>Jndi Property</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair}.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Jndi Property</em>' containment reference list isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Jndi Property</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiConnection_JndiProperty()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArgumentPair" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='jndiProperty' group='#group:1'"
-	 * @generated
-	 */
-    List getJndiProperty();
-
-	/**
-	 * Returns the value of the '<em><b>Initial Context Factory</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Initial Context Factory</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Initial Context Factory</em>' attribute.
-	 * @see #setInitialContextFactory(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getJndiConnection_InitialContextFactory()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='initialContextFactory'"
-	 * @generated
-	 */
-    String getInitialContextFactory();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory <em>Initial Context Factory</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Initial Context Factory</em>' attribute.
-     * @see #getInitialContextFactory()
-     * @generated
-     */
-//    void setInitialContextFactory(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.JndiConnection#getInitialContextFactory <em>Initial Context Factory</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Initial Context Factory</em>' attribute.
-	 * @see #getInitialContextFactory()
-	 * @generated
-	 */
-	void setInitialContextFactory(String value);
-
-} // JndiConnection
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
deleted file mode 100644
index 7b4d426..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/LaunchConfiguration.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.util.FeatureMap;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Launch Configuration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getEnvironmentVariable <em>Environment Variable</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup1 <em>Group1</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getProgramArguments <em>Program Arguments</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass <em>Main Class</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup2 <em>Group2</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getVmParameters <em>Vm Parameters</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getGroup3 <em>Group3</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getExternal <em>External</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration()
- * @model extendedMetaData="name='LaunchConfiguration' kind='elementOnly'"
- * @generated
- */
-public interface LaunchConfiguration extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Main Class</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Main Class</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Main Class</em>' attribute.
-	 * @see #setMainClass(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_MainClass()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='element' name='mainClass'"
-	 * @generated
-	 */
-    String getMainClass();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getMainClass <em>Main Class</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Main Class</em>' attribute.
-	 * @see #getMainClass()
-	 * @generated
-	 */
-	void setMainClass(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Group2</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group2</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group2</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group2()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:6'"
-	 * @generated
-	 */
-	FeatureMap getGroup2();
-
-	/**
-	 * Returns the value of the '<em><b>Working Directory</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Working Directory</em>' attribute.
-	 * @see #setWorkingDirectory(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_WorkingDirectory()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='workingDirectory'"
-	 * @generated
-	 */
-	String getWorkingDirectory();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getWorkingDirectory <em>Working Directory</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Working Directory</em>' attribute.
-	 * @see #getWorkingDirectory()
-	 * @generated
-	 */
-	void setWorkingDirectory(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Program Arguments</b></em>' attribute list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Program Arguments</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_ProgramArguments()
-	 * @model type="java.lang.String" unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='programArguments' group='#group:2'"
-	 * @generated
-	 */
-	List getProgramArguments();
-
-	/**
-	 * Returns a concatenated String of all Program Arguments
-	 * @generated NOT
-	 * @return
-	 */
-	String getProgramArgumentsAsString();
-	
-	/**
-	 * Returns a concatenated String of all Vm parameters.
-	 * @generated NOT
-	 * @return
-	 */
-	String getVmParametersAsString();
-
-	/**
-	 * Returns the value of the '<em><b>Vm Parameters</b></em>' attribute list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Vm Parameters</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_VmParameters()
-	 * @model type="java.lang.String" unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='vmParameters' group='#group:6'"
-	 * @generated
-	 */
-	List getVmParameters();
-
-	/**
-	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Classpath Reference</em>' attribute.
-	 * @see #setClasspathReference(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_ClasspathReference()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='element' name='classpathReference'"
-	 * @generated
-	 */
-	String getClasspathReference();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Classpath Reference</em>' attribute.
-     * @see #getClasspathReference()
-     * @generated
-     */
-//	void setClasspathReference(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getClasspathReference <em>Classpath Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Classpath Reference</em>' attribute.
-	 * @see #getClasspathReference()
-	 * @generated
-	 */
-	void setClasspathReference(String value);
-
-	/**
-	 * Returns the value of the '<em><b>External</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.External}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>External</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>External</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_External()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.External" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='external' group='#group:10'"
-	 * @generated
-	 */
-	List getExternal();
-
-	/**
-	 * Returns the value of the '<em><b>Debug Port</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Debug Port</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Debug Port</em>' attribute.
-	 * @see #setDebugPort(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_DebugPort()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='element' name='debugPort'"
-	 * @generated
-	 */
-	String getDebugPort();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.LaunchConfiguration#getDebugPort <em>Debug Port</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Debug Port</em>' attribute.
-	 * @see #getDebugPort()
-	 * @generated
-	 */
-	void setDebugPort(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Group3</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group3</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group3</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group3()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:10'"
-	 * @generated
-	 */
-	FeatureMap getGroup3();
-
-	/**
-	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:0'"
-	 * @generated
-	 */
-	FeatureMap getGroup();
-
-	/**
-	 * Returns the value of the '<em><b>Environment Variable</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.ArgumentPair}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Environment Variable</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Environment Variable</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_EnvironmentVariable()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.ArgumentPair" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='environmentVariable' group='#group:0'"
-	 * @generated
-	 */
-	List getEnvironmentVariable();
-
-	/**
-	 * Returns the value of the '<em><b>Group1</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group1</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group1</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getLaunchConfiguration_Group1()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:2'"
-	 * @generated
-	 */
-	FeatureMap getGroup1();
-
-} // LaunchConfiguration
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java
deleted file mode 100644
index ad8da17..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Module.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Module</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Module#getType <em>Type</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir <em>Publish Dir</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference <em>Publisher Reference</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getModule()
- * @model extendedMetaData="name='Module' kind='elementOnly'"
- * @generated
- */
-public interface Module extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getModule_Type()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='type'"
-	 * @generated
-	 */
-	String getType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Publish Dir</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Publish Dir</em>' attribute.
-	 * @see #setPublishDir(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getModule_PublishDir()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='publishDir'"
-	 * @generated
-	 */
-	String getPublishDir();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublishDir <em>Publish Dir</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Publish Dir</em>' attribute.
-	 * @see #getPublishDir()
-	 * @generated
-	 */
-	void setPublishDir(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Publisher Reference</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Publisher Reference</em>' attribute.
-	 * @see #setPublisherReference(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getModule_PublisherReference()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='publisherReference'"
-	 * @generated
-	 */
-	String getPublisherReference();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference <em>Publisher Reference</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Publisher Reference</em>' attribute.
-     * @see #getPublisherReference()
-     * @generated
-     */
-//	void setPublisherReference(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Module#getPublisherReference <em>Publisher Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Publisher Reference</em>' attribute.
-	 * @see #getPublisherReference()
-	 * @generated
-	 */
-	void setPublisherReference(String value);
-
-} // Module
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java
deleted file mode 100644
index 82a89cb..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Port.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Port</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Port#getNo <em>No</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Port#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol <em>Protocol</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPort()
- * @model extendedMetaData="name='Port' kind='elementOnly'"
- * @generated
- */
-public interface Port extends EObject{
-	/**
-	 * Returns the value of the '<em><b>No</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>No</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>No</em>' attribute.
-	 * @see #setNo(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPort_No()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='no'"
-	 * @generated
-	 */
-	String getNo();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getNo <em>No</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>No</em>' attribute.
-	 * @see #getNo()
-	 * @generated
-	 */
-	void setNo(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPort_Name()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='name'"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Protocol</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Protocol</em>' attribute.
-	 * @see #setProtocol(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPort_Protocol()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='protocol'"
-	 * @generated
-	 */
-	String getProtocol();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol <em>Protocol</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Protocol</em>' attribute.
-     * @see #getProtocol()
-     * @generated
-     */
-//	void setProtocol(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Port#getProtocol <em>Protocol</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Protocol</em>' attribute.
-	 * @see #getProtocol()
-	 * @generated
-	 */
-	void setProtocol(String value);
-
-} // Port
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java
deleted file mode 100644
index 9625f5a..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Project.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Project</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference <em>Classpath Reference</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProject()
- * @model extendedMetaData="name='Project' kind='elementOnly'"
- * @generated
- */
-public interface Project extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Classpath Reference</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Classpath Reference</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Classpath Reference</em>' attribute.
-	 * @see #setClasspathReference(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProject_ClasspathReference()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='classpathReference'"
-	 * @generated
-	 */
-	String getClasspathReference();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference <em>Classpath Reference</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Classpath Reference</em>' attribute.
-     * @see #getClasspathReference()
-     * @generated
-     */
-//	void setClasspathReference(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Project#getClasspathReference <em>Classpath Reference</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Classpath Reference</em>' attribute.
-	 * @see #getClasspathReference()
-	 * @generated
-	 */
-	void setClasspathReference(String value);
-
-} // Project
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java
deleted file mode 100644
index 60a0a41..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Property.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getContext <em>Context</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getDefault <em>Default</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getId <em>Id</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getLabel <em>Label</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Property#getType <em>Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProperty()
- * @model extendedMetaData="name='Property' kind='empty'"
- * @generated
- */
-public interface Property extends EObject{
-	public static final String CONTEXT_RUNTIME = "runtime";
-	public static final String CONTEXT_SERVER = "server";
-	public static final String TYPE_FILE="file";
-	public static final String TYPE_DIRECTORY="directory";
-	public static final String TYPE_BOOLEAN="boolean";
-	public static final String TYPE_TEXT="string";
-	public static final String TYPE_SELECT="select";
-
-	/**
-	 * Returns the value of the '<em><b>Context</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Context</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Context</em>' attribute.
-	 * @see #setContext(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProperty_Context()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='context'"
-	 * @generated
-	 */
-	String getContext();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getContext <em>Context</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Context</em>' attribute.
-	 * @see #getContext()
-	 * @generated
-	 */
-	void setContext(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Default</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Default</em>' attribute.
-	 * @see #setDefault(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProperty_Default()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='default'"
-	 * @generated
-	 */
-	String getDefault();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getDefault <em>Default</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Default</em>' attribute.
-	 * @see #getDefault()
-	 * @generated
-	 */
-	void setDefault(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Id</em>' attribute.
-	 * @see #setId(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProperty_Id()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='id'"
-	 * @generated
-	 */
-	String getId();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getId <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Id</em>' attribute.
-	 * @see #getId()
-	 * @generated
-	 */
-	void setId(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Label</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Label</em>' attribute.
-	 * @see #setLabel(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProperty_Label()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='label'"
-	 * @generated
-	 */
-	String getLabel();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getLabel <em>Label</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Label</em>' attribute.
-	 * @see #getLabel()
-	 * @generated
-	 */
-	void setLabel(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Type</em>' attribute.
-	 * @see #setType(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getProperty_Type()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='type'"
-	 * @generated
-	 */
-	String getType();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getType <em>Type</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Type</em>' attribute.
-     * @see #getType()
-     * @generated
-     */
-//	void setType(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Property#getType <em>Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Type</em>' attribute.
-	 * @see #getType()
-	 * @generated
-	 */
-	void setType(String value);
-
-} // Property
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java
deleted file mode 100644
index 9e3336d..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/Publisher.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.emf.ecore.util.FeatureMap;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Publisher</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getPublisherdata <em>Publisherdata</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getId <em>Id</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPublisher()
- * @model extendedMetaData="name='Publisher' kind='elementOnly'"
- * @generated
- */
-public interface Publisher extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPublisher_Group()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:0'"
-	 * @generated
-	 */
-	FeatureMap getGroup();
-
-	/**
-	 * Returns the value of the '<em><b>Publisherdata</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.PublisherData}.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Publisherdata</em>' containment reference list isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Publisherdata</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPublisher_Publisherdata()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.PublisherData" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='publisherdata' group='#group:0'"
-	 * @generated
-	 */
-    List getPublisherdata();
-
-	/**
-	 * Returns the value of the '<em><b>Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Id</em>' attribute.
-	 * @see #setId(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPublisher_Id()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='id'"
-	 * @generated
-	 */
-	String getId();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getId <em>Id</em>}' attribute.
-     * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Id</em>' attribute.
-     * @see #getId()
-     * @generated
-     */
-//	void setId(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.Publisher#getId <em>Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Id</em>' attribute.
-	 * @see #getId()
-	 * @generated
-	 */
-	void setId(String value);
-
-} // Publisher
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublisherData.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublisherData.java
deleted file mode 100644
index a3baf7b..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/PublisherData.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Publisher Data</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname <em>Dataname</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue <em>Datavalue</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPublisherData()
- * @model extendedMetaData="name='PublisherData' kind='elementOnly'"
- * @generated
- */
-public interface PublisherData extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Dataname</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Dataname</em>' attribute isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Dataname</em>' attribute.
-	 * @see #setDataname(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPublisherData_Dataname()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='dataname'"
-	 * @generated
-	 */
-    String getDataname();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDataname <em>Dataname</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Dataname</em>' attribute.
-	 * @see #getDataname()
-	 * @generated
-	 */
-	void setDataname(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Datavalue</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Datavalue</em>' attribute.
-	 * @see #setDatavalue(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getPublisherData_Datavalue()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='element' name='datavalue'"
-	 * @generated
-	 */
-    String getDatavalue();
-
-    /**
-     * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue <em>Datavalue</em>}' attribute.
-     * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-     * @param value the new value of the '<em>Datavalue</em>' attribute.
-     * @see #getDatavalue()
-     * @generated
-     */
-//    void setDatavalue(String value);
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.PublisherData#getDatavalue <em>Datavalue</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Datavalue</em>' attribute.
-	 * @see #getDatavalue()
-	 * @generated
-	 */
-	void setDatavalue(String value);
-
-} // PublisherData
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java
deleted file mode 100644
index 52740e5..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerRuntime.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.FeatureMap;
-
-import org.eclipse.jst.server.generic.internal.xml.Resolver;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Server Runtime</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * 
- * 				Generic Server Type Definition. It must have a list of
- * 				properties.
- * 			
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup <em>Group</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProperty <em>Property</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup1 <em>Group1</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPort <em>Port</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup2 <em>Group2</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getModule <em>Module</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject <em>Project</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart <em>Start</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop <em>Stop</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup3 <em>Group3</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getPublisher <em>Publisher</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getGroup4 <em>Group4</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getClasspath <em>Classpath</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getJndiConnection <em>Jndi Connection</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion <em>Version</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime()
- * @model extendedMetaData="name='ServerRuntime' kind='elementOnly'"
- * @generated
- */
-public interface ServerRuntime extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Group</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Group()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:0'"
-	 * @generated
-	 */
-	FeatureMap getGroup();
-
-	/**
-	 * Returns the value of the '<em><b>Property</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Property}.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Property</em>' containment reference list isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Property</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Property()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Property" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='property' group='#group:0'"
-	 * @generated
-	 */
-    List getProperty();
-
-	/**
-	 * Returns the value of the '<em><b>Group1</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group1</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group1</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Group1()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:2'"
-	 * @generated
-	 */
-	FeatureMap getGroup1();
-
-	/**
-	 * Returns the value of the '<em><b>Port</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Port}.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Port</em>' containment reference list isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Port</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Port()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Port" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='port' group='#group:2'"
-	 * @generated
-	 */
-    List getPort();
-
-	/**
-	 * Returns the value of the '<em><b>Group2</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group2</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group2</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Group2()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:4'"
-	 * @generated
-	 */
-	FeatureMap getGroup2();
-
-	/**
-	 * Returns the value of the '<em><b>Module</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Module}.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Module</em>' containment reference list isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Module</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Module()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Module" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='module' group='#group:4'"
-	 * @generated
-	 */
-    List getModule();
-
-	/**
-	 * Returns the value of the '<em><b>Project</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Project</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Project</em>' containment reference.
-	 * @see #setProject(Project)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Project()
-	 * @model containment="true" resolveProxies="false" required="true"
-	 *        extendedMetaData="kind='element' name='project'"
-	 * @generated
-	 */
-	Project getProject();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getProject <em>Project</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Project</em>' containment reference.
-	 * @see #getProject()
-	 * @generated
-	 */
-	void setProject(Project value);
-
-	/**
-	 * Returns the value of the '<em><b>Start</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Start</em>' containment reference.
-	 * @see #setStart(LaunchConfiguration)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Start()
-	 * @model containment="true" resolveProxies="false" required="true"
-	 *        extendedMetaData="kind='element' name='start'"
-	 * @generated
-	 */
-	LaunchConfiguration getStart();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStart <em>Start</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Start</em>' containment reference.
-	 * @see #getStart()
-	 * @generated
-	 */
-	void setStart(LaunchConfiguration value);
-
-	/**
-	 * Returns the value of the '<em><b>Stop</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Stop</em>' containment reference.
-	 * @see #setStop(LaunchConfiguration)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Stop()
-	 * @model containment="true" resolveProxies="false" required="true"
-	 *        extendedMetaData="kind='element' name='stop'"
-	 * @generated
-	 */
-	LaunchConfiguration getStop();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getStop <em>Stop</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Stop</em>' containment reference.
-	 * @see #getStop()
-	 * @generated
-	 */
-	void setStop(LaunchConfiguration value);
-
-	/**
-	 * Returns the value of the '<em><b>Group3</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group3</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group3</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Group3()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:9'"
-	 * @generated
-	 */
-	FeatureMap getGroup3();
-
-	/**
-	 * Returns the value of the '<em><b>Publisher</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Publisher}.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Publisher</em>' containment reference list isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Publisher</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Publisher()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Publisher" containment="true" resolveProxies="false" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='publisher' group='#group:9'"
-	 * @generated
-	 */
-    List getPublisher();
-
-	/**
-	 * Returns the value of the '<em><b>Group4</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Group4</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Group4</em>' attribute list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Group4()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-	 *        extendedMetaData="kind='group' name='group:11'"
-	 * @generated
-	 */
-	FeatureMap getGroup4();
-
-	/**
-	 * Returns the value of the '<em><b>Classpath</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.jst.server.generic.servertype.definition.Classpath}.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Classpath</em>' containment reference list isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Classpath</em>' containment reference list.
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Classpath()
-	 * @model type="org.eclipse.jst.server.generic.servertype.definition.Classpath" containment="true" resolveProxies="false" required="true" transient="true" volatile="true" derived="true"
-	 *        extendedMetaData="kind='element' name='classpath' group='#group:11'"
-	 * @generated
-	 */
-    List getClasspath();
-
-	/**
-	 * Returns the value of the '<em><b>Jndi Connection</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-     * <p>
-     * If the meaning of the '<em>Jndi Connection</em>' containment reference isn't clear,
-     * there really should be more of a description here...
-     * </p>
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Jndi Connection</em>' containment reference.
-	 * @see #setJndiConnection(JndiConnection)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_JndiConnection()
-	 * @model containment="true" resolveProxies="false" required="true"
-	 *        extendedMetaData="kind='element' name='jndiConnection'"
-	 * @generated
-	 */
-    JndiConnection getJndiConnection();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getJndiConnection <em>Jndi Connection</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Jndi Connection</em>' containment reference.
-	 * @see #getJndiConnection()
-	 * @generated
-	 */
-	void setJndiConnection(JndiConnection value);
-
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Name()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
-	 *        extendedMetaData="kind='attribute' name='name'"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Version</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Version</em>' attribute.
-	 * @see #setVersion(String)
-	 * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage#getServerRuntime_Version()
-	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
-	 *        extendedMetaData="kind='attribute' name='version'"
-	 * @generated
-	 */
-	String getVersion();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.jst.server.generic.servertype.definition.ServerRuntime#getVersion <em>Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Version</em>' attribute.
-	 * @see #getVersion()
-	 * @generated
-	 */
-	void setVersion(String value);
-
-	/**
-	 * @param type the type of the '<em>Module</em>' attribute.
-	 * @return
-	 * @generated NOT
-	 */
-	Module getModule(String type);
-
-	/**
-	 * @param cpRef the reference id of the '<em>Classpath</em>' attribute.
-	 * @return
-	 * @generated NOT
-	 */
-	Classpath getClasspath(String cpRef);
-
-    
-    /**
-     * @generated NOT
-     */
-    String getId();
-    
-    /**
-     * @generated NOT
-     * @param id
-     */
-    void setId(String id);
-    
-    
-    
-    
-	/**
-	 * @generated NOT
-	 */
-	String getFilename();
-
-    
-	/**
-	 * @generated NOT
- */
-	void setFilename(String fn);
-
-	/**
-	 * @generated NOT
-	 */
-	void setPropertyValues(Map properties);
-
-	/**
-	 * @generated NOT
-	 */
-	Resolver getResolver();
-	
-    /**
-     * @generated NOT
-     */
-    String getConfigurationElementNamespace();
-    /**
-     * @generated NOT
-     * @param namespace
-     */
-    void setConfigurationElementNamespace(String namespace);
-	/**
-	 * @param id the id of the '<em>Publisher</em>' attribute.
-	 * @return
-	 * @generated NOT
-	 */
-	Publisher getPublisher(String id);
-} // ServerRuntime
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
deleted file mode 100644
index 5aeb3c8..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/servertype/definition/ServerTypeFactory.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.servertype.definition;
-
-import org.eclipse.emf.ecore.EFactory;
-import org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.jst.server.generic.internal.servertype.definition.ServerTypePackage
- * @generated
- */
-public interface ServerTypeFactory extends EFactory{
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	ServerTypeFactory eINSTANCE = new org.eclipse.jst.server.generic.internal.servertype.definition.impl.ServerTypeFactoryImpl();
-
-	/**
-	 * Returns a new object of class '<em>Archive Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Archive Type</em>'.
-	 * @generated
-	 */
-	ArchiveType createArchiveType();
-
-	/**
-	 * Returns a new object of class '<em>Argument Pair</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Argument Pair</em>'.
-	 * @generated
-	 */
-	ArgumentPair createArgumentPair();
-
-	/**
-	 * Returns a new object of class '<em>Classpath</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Classpath</em>'.
-	 * @generated
-	 */
-	Classpath createClasspath();
-
-	/**
-	 * Returns a new object of class '<em>External</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>External</em>'.
-	 * @generated
-	 */
-	External createExternal();
-
-	/**
-	 * Returns a new object of class '<em>Jndi Connection</em>'.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Jndi Connection</em>'.
-	 * @generated
-	 */
-    JndiConnection createJndiConnection();
-
-	/**
-	 * Returns a new object of class '<em>Launch Configuration</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Launch Configuration</em>'.
-	 * @generated
-	 */
-	LaunchConfiguration createLaunchConfiguration();
-
-	/**
-	 * Returns a new object of class '<em>Module</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Module</em>'.
-	 * @generated
-	 */
-	Module createModule();
-
-	/**
-	 * Returns a new object of class '<em>Port</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Port</em>'.
-	 * @generated
-	 */
-	Port createPort();
-
-	/**
-	 * Returns a new object of class '<em>Project</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Project</em>'.
-	 * @generated
-	 */
-	Project createProject();
-
-	/**
-	 * Returns a new object of class '<em>Property</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Property</em>'.
-	 * @generated
-	 */
-	Property createProperty();
-
-	/**
-	 * Returns a new object of class '<em>Publisher</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Publisher</em>'.
-	 * @generated
-	 */
-	Publisher createPublisher();
-
-	/**
-	 * Returns a new object of class '<em>Publisher Data</em>'.
-	 * <!-- begin-user-doc -->
-     * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Publisher Data</em>'.
-	 * @generated
-	 */
-    PublisherData createPublisherData();
-
-	/**
-	 * Returns a new object of class '<em>Server Runtime</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Server Runtime</em>'.
-	 * @generated
-	 */
-	ServerRuntime createServerRuntime();
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	ServerTypePackage getServerTypePackage();
-
-} //ServerTypeFactory
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd b/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
deleted file mode 100644
index 87fa96e..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/ServerTypeDefinitionSchema.xsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema targetNamespace="http://eclipse.org/jst/server/generic/ServerTypeDefinition" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:jst="http://eclipse.org/jst/server/generic/ServerTypeDefinition">
-
-
-
-	<complexType name="ServerRuntime">
-		<annotation>
-			<documentation>
-				Generic Server Type Definition. It must have a list of
-				properties.
-			</documentation>
-		</annotation>
-
-		<sequence maxOccurs="1" minOccurs="1">
-			<sequence maxOccurs="unbounded" minOccurs="0">
-				<element name="property" type="jst:Property"/>
-			</sequence>
-
-			<sequence maxOccurs="unbounded" minOccurs="0">
-				<element name="port" type="jst:Port"/>
-			</sequence>
-
-			<sequence maxOccurs="unbounded" minOccurs="1">
-				<element name="module" type="jst:Module"/>
-			</sequence>
-			<element name="project" type="jst:Project"/>
-			<element name="start" type="jst:LaunchConfiguration"/>
-			<element name="stop" type="jst:LaunchConfiguration"/>
-
-			<sequence maxOccurs="unbounded" minOccurs="0">
-				<element name="publisher" type="jst:Publisher"/>
-			</sequence>
-
-			<sequence maxOccurs="unbounded" minOccurs="1">
-				<element name="classpath" type="jst:Classpath"/>
-			</sequence>
-			<element name="jndiConnection" type="jst:jndiConnection"/>
-		</sequence>
-
-		<attribute name="name" type="string" use="required"/>
-		<attribute name="version" type="string"/>
-	</complexType>
-
-	<complexType name="Property">
-		<attribute name="id" type="string"/>
-		<attribute name="label" type="string"/>
-		<attribute name="type" type="string"/>
-		<attribute name="context" type="string"/>
-		<attribute name="default" type="string"/>
-	</complexType>
-
-	<complexType name="Module">
-		<sequence>
-			<element name="type" type="string"/>
-			<element name="publishDir" type="string"/>
-			<element name="publisherReference" type="string"/>
-		</sequence>
-	</complexType>
-
-	<complexType name="LaunchConfiguration">
-		<sequence>
-			<sequence minOccurs="0" maxOccurs="unbounded">
-				<element name="environmentVariable"
-					type="jst:ArgumentPair">
-				</element>
-			</sequence>
-			<sequence minOccurs="0" maxOccurs="unbounded">
-				<element name="programArguments" type="string" />
-			</sequence>
-			<element name="workingDirectory" type="string" />
-			<choice>
-				<sequence>
-					<element name="mainClass" type="string" />
-					<sequence minOccurs="0" maxOccurs="unbounded">
-						<element name="vmParameters" type="string" />
-					</sequence>
-					<element name="classpathReference" type="string" />
-				</sequence>
-				<sequence>
-					<element name="debugPort" type="string" />
-					<sequence maxOccurs="unbounded" minOccurs="1">
-						<element name="external" type="jst:External"></element>
-					</sequence>
-				</sequence>
-			</choice>
-		</sequence>
-	</complexType>
-
-	<complexType name="Port">
-		<sequence>
-			<element name="no" type="string"/>
-			<element name="name" type="string"/>
-			<element name="protocol" type="string"/>
-		</sequence>
-	</complexType>
-
-	<complexType name="Classpath">
-		<sequence maxOccurs="unbounded" minOccurs="1">
-			<element name="archive">
-				<complexType>
-					<attribute name="path" type="string"/>
-				</complexType>
-			</element>
-		</sequence>
-		<attribute name="id" type="string"/>
-	</complexType>
-
-	<complexType name="Publisher">
-		<sequence maxOccurs="unbounded" minOccurs="1">
-            <element name="publisherdata" type="jst:PublisherData">
-      </element>
-        </sequence>
-		<attribute name="id" type="string"/>
-	</complexType>
-
-	<complexType name="Project">
-		<sequence maxOccurs="1" minOccurs="1">
-		<element name="classpathReference" type="string"/>
-		</sequence>
-	</complexType>
-
-    <complexType name="PublisherData">
-    <sequence maxOccurs="1" minOccurs="1">
-      <element name="dataname" type="string"/>
-      <element name="datavalue" type="string"/>
-    </sequence>
-  </complexType>
-    <complexType name="jndiConnection">
-    	<sequence>
-    		<element name="providerUrl" type="string"/>
-    		<sequence maxOccurs="unbounded" minOccurs="0">
-    			<element name="jndiProperty" type="jst:ArgumentPair"/>
-    		</sequence>
-    		<element name="initialContextFactory" type="string"/>
-    	</sequence>
-    </complexType>
-
-    <complexType name="ArgumentPair">
-    	<all maxOccurs="1" minOccurs="1">
-    		<element name="name" type="string"/>
-    		<element name="value" type="string"/>
-    	</all>
-    </complexType>
-
-    <complexType name="External">
-    	<simpleContent>
-    		<extension base="string">
-    			<attribute name="os" type="string"></attribute>
-    		</extension>
-    	</simpleContent>
-    </complexType>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore b/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
deleted file mode 100644
index 21b385f..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/org.eclipse.jst.server.generic.servertype.ecore
+++ /dev/null
@@ -1,501 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="definition"
-    nsURI="http://eclipse.org/jst/server/generic/ServerTypeDefinition" nsPrefix="definition">
-  <eClassifiers xsi:type="ecore:EClass" name="ArchiveType">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="archive_._type"/>
-      <details key="kind" value="empty"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="path"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ArgumentPair">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="ArgumentPair"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="name"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="value"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Classpath">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="Classpath"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="archive" lowerBound="1"
-        upperBound="-1" eType="#//ArchiveType" volatile="true" transient="true" derived="true"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="archive"/>
-        <details key="group" value="#group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="id"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="External">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="External"/>
-      <details key="kind" value="simple"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="name" value=":0"/>
-        <details key="kind" value="simple"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="os" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="os"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JndiConnection">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="jndiConnection"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="providerUrl" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="providerUrl"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:1"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="jndiProperty" upperBound="-1"
-        eType="#//ArgumentPair" volatile="true" transient="true" derived="true" containment="true"
-        resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="jndiProperty"/>
-        <details key="group" value="#group:1"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialContextFactory"
-        unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="initialContextFactory"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="LaunchConfiguration">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="LaunchConfiguration"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="environmentVariable" upperBound="-1"
-        eType="#//ArgumentPair" volatile="true" transient="true" derived="true" containment="true"
-        resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="environmentVariable"/>
-        <details key="group" value="#group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group1" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:2"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="programArguments" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
-        volatile="true" transient="true" derived="true">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="programArguments"/>
-        <details key="group" value="#group:2"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="workingDirectory" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="workingDirectory"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mainClass" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="mainClass"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group2" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:6"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="vmParameters" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"
-        volatile="true" transient="true" derived="true">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="vmParameters"/>
-        <details key="group" value="#group:6"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="classpathReference"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="debugPort" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="debugPort"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group3" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:10"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="external" upperBound="-1"
-        eType="#//External" volatile="true" transient="true" derived="true" containment="true"
-        resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="external"/>
-        <details key="group" value="#group:10"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Module">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="Module"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="type"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="publishDir" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="publishDir"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="publisherReference" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="publisherReference"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Port">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="Port"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="no" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="no"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="name"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="protocol"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Project">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="Project"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classpathReference" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="classpathReference"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Property">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="Property"/>
-      <details key="kind" value="empty"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="context" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="context"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="default"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="id"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="label"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="type"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Publisher">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="Publisher"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="publisherdata" lowerBound="1"
-        upperBound="-1" eType="#//PublisherData" volatile="true" transient="true"
-        derived="true" containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="publisherdata"/>
-        <details key="group" value="#group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="id"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PublisherData">
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="PublisherData"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataname" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="dataname"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="datavalue" unique="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="datavalue"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ServerRuntime">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;Generic Server Type Definition. It must have a list of&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;properties.&#xD;&#xA;&#x9;&#x9;&#x9;"/>
-    </eAnnotations>
-    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-      <details key="name" value="ServerRuntime"/>
-      <details key="kind" value="elementOnly"/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group" unique="false" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-1"
-        eType="#//Property" volatile="true" transient="true" derived="true" containment="true"
-        resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="property"/>
-        <details key="group" value="#group:0"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group1" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:2"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="port" upperBound="-1" eType="#//Port"
-        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="port"/>
-        <details key="group" value="#group:2"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group2" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:4"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="module" lowerBound="1"
-        upperBound="-1" eType="#//Module" volatile="true" transient="true" derived="true"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="module"/>
-        <details key="group" value="#group:4"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="project" lowerBound="1"
-        eType="#//Project" containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="project"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//LaunchConfiguration"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="start"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stop" lowerBound="1" eType="#//LaunchConfiguration"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="stop"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group3" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:9"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="publisher" upperBound="-1"
-        eType="#//Publisher" volatile="true" transient="true" derived="true" containment="true"
-        resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="publisher"/>
-        <details key="group" value="#group:9"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="group4" unique="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="group"/>
-        <details key="name" value="group:11"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="classpath" lowerBound="1"
-        upperBound="-1" eType="#//Classpath" volatile="true" transient="true" derived="true"
-        containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="classpath"/>
-        <details key="group" value="#group:11"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="jndiConnection" lowerBound="1"
-        eType="#//JndiConnection" containment="true" resolveProxies="false">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="element"/>
-        <details key="name" value="jndiConnection"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="name"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" unique="false"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="kind" value="attribute"/>
-        <details key="name" value="version"/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
deleted file mode 100644
index 74670bb..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.genmodel
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.jst.server.generic.core/src"
-    editDirectory="/org.eclipse.jst.server.generic.model.edit/src" editorDirectory="/org.eclipse.jst.server.generic.model.editor/src"
-    modelPluginID="org.eclipse.jst.server.generic.model" runtimeJar="true" modelName="Servertype"
-    editPluginClass="org.eclipse.jst.server.generic.server.type.definition.provider.ServertypeEditPlugin"
-    editorPluginClass="org.eclipse.jst.server.generic.server.type.definition.presentation.ServertypeEditorPlugin"
-    suppressEMFTypes="true" importerID="org.eclipse.xsd.ecore.importer">
-  <foreignModel>ServerTypeDefinitionSchema.xsd</foreignModel>
-  <genPackages prefix="ServerType" basePackage="org.eclipse.jst.server.generic.servertype"
-      resource="XML" ecorePackage="org.eclipse.jst.server.generic.servertype.ecore#/">
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType/path"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair/name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ArgumentPair/value"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Classpath">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Classpath/group"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//Classpath/archive"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Classpath/id"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//External">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//External/value"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//External/os"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/providerUrl"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/group"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/jndiProperty"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//JndiConnection/initialContextFactory"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/environmentVariable"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group1"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/programArguments"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/workingDirectory"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/mainClass"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group2"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/vmParameters"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/classpathReference"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/debugPort"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/group3"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/external"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Module">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Module/type"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Module/publishDir"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Module/publisherReference"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Port">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Port/no"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Port/name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Port/protocol"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Project">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Project/classpathReference"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Property">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/context"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/default"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/id"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/label"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Property/type"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//Publisher">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Publisher/group"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//Publisher/publisherdata"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//Publisher/id"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//PublisherData">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//PublisherData/dataname"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//PublisherData/datavalue"/>
-    </genClasses>
-    <genClasses ecoreClass="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/property"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group1"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/port"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group2"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/module"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/project"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/start"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/stop"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group3"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/publisher"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group4"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/classpath"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/jndiConnection"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/version"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.xsd2ecore b/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.xsd2ecore
deleted file mode 100644
index 999e4e4..0000000
--- a/plugins/org.eclipse.jst.server.generic.core/xsd/servertype.xsd2ecore
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<xsd2ecore:XSD2EcoreMappingRoot xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd2ecore="http://www.eclipse.org/emf/2002/XSD2Ecore" inputs="ServerTypeDefinitionSchema.xsd#/"
-    outputs="org.eclipse.jst.server.generic.servertype.ecore#/" topToBottom="true">
-  <nested inputs="bundleentry://175/cache/www.w3.org/2001/XMLSchema.xsd#//string;XSDSimpleTypeDefinition=7"
-      outputs="http://www.eclipse.org/emf/2003/XMLType#//String"/>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle/XSDModelGroup/XSDParticle/archive;XSDElementDeclaration/XSDComplexTypeDefinition"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle/XSDModelGroup/XSDParticle/archive;XSDElementDeclaration/XSDComplexTypeDefinition/XSDAttributeUse"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ArchiveType/path"/>
-  </nested>
-  <nested inputs="bundleentry://175/cache/www.w3.org/2001/XMLSchema.xsd#//boolean;XSDSimpleTypeDefinition=8"
-      outputs="http://www.eclipse.org/emf/2003/XMLType#//Boolean"/>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/group"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/archive"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDAttributeUse"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/id"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Classpath;XSDComplexTypeDefinition=5/XSDAttributeUse=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Classpath/isLibrary"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/class"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/workingDirectory"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=2"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/programArguments"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=3"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/vmParameters"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//LaunchConfiguration;XSDComplexTypeDefinition=3/XSDParticle/XSDModelGroup/XSDParticle=4"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//LaunchConfiguration/classpathReference"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module/type"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module/publishDir"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Module;XSDComplexTypeDefinition=2/XSDParticle/XSDModelGroup/XSDParticle=2"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Module/publisherReference"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port/no"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port/name"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Port;XSDComplexTypeDefinition=4/XSDParticle/XSDModelGroup/XSDParticle=2"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Port/protocol"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Project;XSDComplexTypeDefinition=7"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Project">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Project;XSDComplexTypeDefinition=7/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Project/classpathReference"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=3"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/context"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=4"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/default"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/id"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/label"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Property;XSDComplexTypeDefinition=1/XSDAttributeUse=2"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Property/type"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle/publish;XSDElementDeclaration/XSDComplexTypeDefinition"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//PublishType">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle/publish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//PublishType/task"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle/publish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//PublishType/classpathReference"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1/unpublish;XSDElementDeclaration/XSDComplexTypeDefinition"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1/unpublish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType/task"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1/unpublish;XSDElementDeclaration/XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//UnpublishType/classpathReference"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/group"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/publish"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDParticle/XSDModelGroup/XSDParticle=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/unpublish"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//Publisher;XSDComplexTypeDefinition=6/XSDAttributeUse"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//Publisher/id"/>
-  </nested>
-  <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition"
-      outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime">
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/property"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group1"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=1/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/port"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=2"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group2"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=2/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/module"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=3"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/project"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=4"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/start"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=5"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/stop"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=6"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group3"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=6/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/publisher"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=7"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/group4"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDParticle/XSDModelGroup/XSDParticle=7/XSDModelGroup/XSDParticle"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/classpath"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDAttributeUse"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/name"/>
-    <nested inputs="ServerTypeDefinitionSchema.xsd#//ServerRuntime;XSDComplexTypeDefinition/XSDAttributeUse=1"
-        outputs="org.eclipse.jst.server.generic.servertype.ecore#//ServerRuntime/version"/>
-  </nested>
-</xsd2ecore:XSD2EcoreMappingRoot>
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/.classpath b/plugins/org.eclipse.jst.server.generic.jboss/.classpath
deleted file mode 100644
index fb0f2c4..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="servers/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/.cvsignore b/plugins/org.eclipse.jst.server.generic.jboss/.cvsignore
deleted file mode 100644
index 2d9835d..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler.genericjboss.jar.args
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/.project b/plugins/org.eclipse.jst.server.generic.jboss/.project
deleted file mode 100644
index a997a0e..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.jboss</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.jboss/META-INF/MANIFEST.MF
deleted file mode 100644
index 1609c33..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.generic.jboss;singleton:=true
-Bundle-Version: 1.5.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.generic.core;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.jst.server.generic.ui;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.jst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.2.0)"
-Eclipse-LazyStart: true
-Bundle-ClassPath: genericjboss.jar
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/about.html b/plugins/org.eclipse.jst.server.generic.jboss/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/build.properties b/plugins/org.eclipse.jst.server.generic.jboss/build.properties
deleted file mode 100644
index 628cf58..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               servers/,\
-               icons/,\
-               buildfiles/,\
-               genericjboss.jar              
-src.includes = build.properties
-source.genericjboss.jar = servers/
-jars.compile.order = genericjboss.jar
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/buildfiles/jboss323.xml b/plugins/org.eclipse.jst.server.generic.jboss/buildfiles/jboss323.xml
deleted file mode 100644
index f720ca4..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/buildfiles/jboss323.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<project name="deployextension"  default="deploy.j2ee.web"  basedir=".">
-	<target name="deploy.j2ee.web">
-		<jar destfile="${project.working.dir}/${module.name}.war"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.war" todir="${server.publish.dir}"/>
-	</target>
-	
-	<target name="deploy.j2ee.ejb">
-		<jar destfile="${project.working.dir}/${module.name}.jar"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.jar" todir="${server.publish.dir}"/>
-	</target>
-	<target name="deploy.j2ee.ear">
-		<jar destfile="${project.working.dir}/${module.name}.ear"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.ear" todir="${server.publish.dir}"/>
-	</target>
-	
-	<target name="undeploy.j2ee.web">
-		<delete file="${server.publish.dir}/${module.name}.war"> </delete>
-	</target>
-	<target name="undeploy.j2ee.ejb">
-		<delete file="${server.publish.dir}/${module.name}.jar"> </delete>
-	</target>
-	<target name="undeploy.j2ee.ear">
-		<delete file="${server.publish.dir}/${module.name}.ear"> </delete>
-	</target>	
-	
-</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/icons/obj16/jboss.gif b/plugins/org.eclipse.jst.server.generic.jboss/icons/obj16/jboss.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/icons/obj16/jboss.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/plugin.properties b/plugins/org.eclipse.jst.server.generic.jboss/plugin.properties
deleted file mode 100644
index 17b7e64..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/plugin.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName= JBoss Generic server definitions 
-providerName=Eclipse.org
-pluginDescription=Provides JBoss server definitons 
-
-
-# ============ jboss323 ====================
-jbossCategory=JBoss
-jboss323runtimeTypeName=JBoss v3.2.x
-jboss323runtimeTypeDescription=Publishes and runs J2EE 1.3 modules on a local server. \
-Provides basic server functionality.
-
-jboss323serverTypeName=JBoss v3.2.x
-jboss323serverTypeDescription=Publishes and runs J2EE 1.3 modules on a local server. \
-Provides basic server functionality.
-
-jboss4runtimeTypeName=JBoss v4.0
-jboss4runtimeTypeDescription=Publishes and runs J2EE 1.4 modules on a local server. \
-Provides basic server functionality.
-
-jboss4serverTypeName=JBoss v4.0
-jboss4serverTypeDescription=Publishes and runs J2EE 1.4 modules on a local server. \
-Provides basic server functionality.
-
-# ============== serverdef translations ================
-ApplicationServerDirectory=Application &Server Directory:
-serverAddress=A&ddress:
-serverPort=&Port:
-jndiPort=&JNDI Port:
-jboss323serverConfig=Server Co&nfiguration:
-serverclassPath=&Classpath Variable:
-serverName=Ser&ver Name:
-username=Use&r Name:
-password=Pass&word:
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/plugin.xml b/plugins/org.eclipse.jst.server.generic.jboss/plugin.xml
deleted file mode 100644
index e7b18a1..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/plugin.xml
+++ /dev/null
@@ -1,236 +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.generic.runtime.jboss323"
-	       name="%jboss323runtimeTypeName"
-	       description="%jboss323runtimeTypeDescription"
-	       vendor="%jbossCategory"
-	       version="3.2.3"
-	       class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime">
-	       <moduleType
-	         types="jst.web"
-	         versions="2.2, 2.3"/>
-	      <moduleType
-	         types="jst.ejb"
-	         versions="1.1, 2.0"/>
-	      <moduleType
-	         types="jst.ear"
-	         versions="1.2, 1.3"/>
-	      <moduleType
-	         types="jst.connector"
-	         versions="1.0"/>
-	       <moduleType
-	         types="jst.utility"
-	         versions="1.0"/>
-	    </runtimeType>
-	    
-	    <runtimeType
-	       id="org.eclipse.jst.server.generic.runtime.jboss4"
-	       name="%jboss4runtimeTypeName"
-	       description="%jboss4runtimeTypeDescription"
-	       vendor="%jbossCategory"
-	       version="4.0"
-	       class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime">
-	       <moduleType
-	         types="jst.web"
-	         versions="2.2, 2.3, 2.4"/>
-	      <moduleType
-	         types="jst.ejb"
-	         versions="1.1, 2.0, 2.1"/>
-	      <moduleType
-	         types="jst.ear"
-	         versions="1.2, 1.3, 1.4"/>
-	      <moduleType
-	         types="jst.connector"
-	         versions="1.0, 1.5"/>
-	       <moduleType
-	         types="jst.utility"
-	         versions="1.0"/>
-	    </runtimeType>
-	</extension>
-
-	<extension point="org.eclipse.wst.server.core.serverTypes">
-	     <serverType
-	           runtime="true"
-	           class="org.eclipse.jst.server.generic.core.internal.GenericServer"
-	           id="org.eclipse.jst.server.generic.jboss323"
-	           initialState="stopped"
-	           supportsRemoteHosts="false"
-	           runtimeTypeId="org.eclipse.jst.server.generic.runtime.jboss323"
-	           description="%jboss323serverTypeDescription"
-	           launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
-	           behaviourClass="org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"
-	           name="%jboss323serverTypeName"
-	           startTimeout="50000"
-		       stopTimeout="15000"
-	           hasConfiguration="false"
-	           launchModes="run,debug,profile">
-	          
-	     </serverType>
-	     <serverType
-	           runtime="true"
-	           class="org.eclipse.jst.server.generic.core.internal.GenericServer"
-	           id="org.eclipse.jst.server.generic.jboss4"
-	           initialState="stopped"
-	           supportsRemoteHosts="false"
-	           runtimeTypeId="org.eclipse.jst.server.generic.runtime.jboss4"
-	           description="%jboss4serverTypeDescription"
-	           launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
-	           behaviourClass="org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"
-	           name="%jboss4serverTypeName"
-	           startTimeout="50000"
-		       stopTimeout="15000"
-	           hasConfiguration="false"
-	           launchModes="run,debug,profile">        
-	     </serverType>
-	</extension>
-    <extension point="org.eclipse.wst.server.ui.wizardFragments">
-	     <fragment
-	        id="org.eclipse.jst.server.generic.runtime"
-	        typeIds="org.eclipse.jst.server.generic.runtime.jboss323"
-	        class="org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"/>           
-	     <fragment
-	        id="org.eclipse.jst.server.generic.server"
-	        typeIds="org.eclipse.jst.server.generic.jboss323"
-	        class="org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"/>   
-	     <fragment
-	        id="org.eclipse.jst.server.generic.runtime"
-	        typeIds="org.eclipse.jst.server.generic.runtime.jboss4"
-	        class="org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"/>           
-	     <fragment
-	        id="org.eclipse.jst.server.generic.server"
-	        typeIds="org.eclipse.jst.server.generic.jboss4"
-	        class="org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"/>   
-	</extension>´
-	
-	<extension point="org.eclipse.wst.server.ui.serverImages">
-		 <image
-	         id="org.eclipse.jst.server.generic.image"
-	         icon="icons/obj16/jboss.gif"
-	         typeIds="org.eclipse.jst.server.generic.runtime.jboss323"/>
-	     <image
-	         id="org.eclipse.jst.server.generic.image"
-	         icon="icons/obj16/jboss.gif"
-	         typeIds="org.eclipse.jst.server.generic.jboss323"/>
-	     <image
-	         id="org.eclipse.jst.server.generic.image"
-	         icon="icons/obj16/jboss.gif"
-	         typeIds="org.eclipse.jst.server.generic.runtime.jboss4"/>
-	     <image
-	         id="org.eclipse.jst.server.generic.image"
-	         icon="icons/obj16/jboss.gif"
-	         typeIds="org.eclipse.jst.server.generic.jboss4"/>
-	</extension>
-	
-   <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
-     <runtimeClasspathProvider
-        id="org.eclipse.jst.server.generic.runtimeTarget"
-        runtimeTypeIds="org.eclipse.jst.server.generic.runtime.jboss*"
-        class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"/>
-	</extension>
-	
-   <extension point="org.eclipse.jst.server.generic.core.serverdefinition">
-		<serverdefinition id="org.eclipse.jst.server.generic.runtime.jboss323" definitionfile="/servers/jboss323.serverdef">
-		</serverdefinition>
-		<serverdefinition id="org.eclipse.jst.server.generic.runtime.jboss4" definitionfile="/servers/jboss.serverdef">
-		</serverdefinition>   
-   </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-     <runtime-component-type
-       id="org.eclipse.jst.server.generic.runtime.jboss"/>
-
-    <runtime-component-version
-       type="org.eclipse.jst.server.generic.runtime.jboss"
-       version="3.2.3"/>
-    <runtime-component-version
-       type="org.eclipse.jst.server.generic.runtime.jboss"
-       version="4.0"/>
-
-    <adapter>
-      <runtime-component
-         id="org.eclipse.jst.server.generic.runtime.jboss"/>
-      <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.generic.runtime.jboss"
-         version="3.2.3"/>
-      <facet
-         id="jst.web"
-         version="2.2,2.3"/>
-      <facet
-         id="jst.ejb"
-         version="1.1,2.0"/>
-      <facet
-         id="jst.ear"
-         version="1.2,1.3"/>
-      <facet
-         id="jst.connector"
-         version="1.0"/>
-      <facet
-         id="jst.appclient"
-         version="1.2,1.3"/>
-      <facet
-         id="jst.utility"
-         version="1.0"/>
-    </supported>
-
-    <supported>
-      <runtime-component
-         id="org.eclipse.jst.server.generic.runtime.jboss"
-         version="4.0"/>
-      <facet
-         id="jst.web"
-         version="2.2,2.3,2.4"/>
-      <facet
-         id="jst.ejb"
-         version="1.1,2.0,2.1"/>
-      <facet
-         id="jst.ear"
-         version="1.2,1.3,1.4"/>
-      <facet
-         id="jst.connector"
-         version="1.0,1.5"/>
-      <facet
-         id="jst.appclient"
-         version="1.2,1.3,1.4"/>
-      <facet
-         id="jst.utility"
-         version="1.0"/>
-    </supported>
-  
-  </extension>
-  
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="org.eclipse.jst.server.generic.runtime.jboss"
-      path="icons/obj16/jboss.gif"/>  
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">  
-    <adapter>
-      <runtime-component id="org.eclipse.jst.server.generic.runtime.jboss"/>
-      <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.jst.server.core.runtimeFacetMappings">
-    <runtimeFacetMapping
-      runtimeTypeId="org.eclipse.jst.server.generic.runtime.jboss323"
-      runtime-component="org.eclipse.jst.server.generic.runtime.jboss"
-      version="3.2.3"/>
-    <runtimeFacetMapping
-      runtimeTypeId="org.eclipse.jst.server.generic.runtime.jboss4"
-      runtime-component="org.eclipse.jst.server.generic.runtime.jboss"
-      version="4.0"/>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/servers/jboss.serverdef b/plugins/org.eclipse.jst.server.generic.jboss/servers/jboss.serverdef
deleted file mode 100644
index 789bbb5..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/servers/jboss.serverdef
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="JBOSS 4.0" version="v4.0">
-<property id="serverRootDirectory"
-	label="%ApplicationServerDirectory"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/appservers/jboss-4.0.3" />
-<property id="serverAddress"
-	label="%serverAddress"
-	type="string"
-	context="server"
-	default="127.0.0.1" />
-<property id="port"
-	label="%serverPort"
-	type="string"
-	context="server"
-	default="8080" />
-<property id="jndiPort"
-	label="%jndiPort"
-	type="string"
-	context="server"
-	default="1099" />	
-<property id="serverConfig"
-	label="%jboss323serverConfig"
-	type="select"
-	context="server"
-	default="default,all,minimal" />
-
-	<port>
-		<no>${port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-
-	<module>
-		<type>jst.web</type>
-		<publishDir>${serverRootDirectory}/server/${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.ejb</type>
-		<publishDir>${serverRootDirectory}/server/${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.ear</type>
-		<publishDir>${serverRootDirectory}/server/${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-
-	<project>
-		<classpathReference>jboss.project</classpathReference>
-	</project>
-	
-	<start>
-		<mainClass>org.jboss.Main</mainClass>
-		<workingDirectory>${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-c ${serverConfig}</programArguments>
-		<vmParameters>-Dprogram.name=run.bat -Djava.endorsed.dirs=${serverRootDirectory}/bin/../lib/endorsed -Xms128m -Xmx512m</vmParameters>
-		<classpathReference>jboss</classpathReference>
-	</start>
-
-	<stop>
-		<mainClass>org.jboss.Shutdown</mainClass>
-		<workingDirectory>${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-S</programArguments>
-		<vmParameters>-Djboss.boot.loader.name=shutdown.bat</vmParameters>
-		<classpathReference>jboss.shutdown</classpathReference>
-	</stop>
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/buildfiles/jboss323.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.web</dataname>
-			<datavalue>undeploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ejb</dataname>
-			<datavalue>undeploy.j2ee.ejb</datavalue>
-		</publisherdata>		
-		<publisherdata>
-			<dataname>target.publish.jst.ear</dataname>
-			<datavalue>deploy.j2ee.ear</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ear</dataname>
-			<datavalue>undeploy.j2ee.ear</datavalue>
-		</publisherdata>				
-	</publisher>
-
-	<classpath id="jboss" >
-		<archive path="${serverRootDirectory}/bin/run.jar" />
-	</classpath>
-	<classpath id="jboss.shutdown" >
-		<archive path="${serverRootDirectory}/bin/shutdown.jar" />
-	</classpath>
-
-	<classpath id="jboss.project" >
-		<archive path="${serverRootDirectory}/client/jboss-j2ee.jar" />
-        <archive path="${serverRootDirectory}/client/jbossall-client.jar" />		
-		<archive path="${serverRootDirectory}/server/default/lib/javax.servlet.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/javax.servlet.jsp.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/activation.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/mail.jar" />
-	</classpath>
-	<jndiConnection>
-		<providerUrl>jnp://${serverAddress}:${jndiPort}</providerUrl>
-		<initialContextFactory>org.jnp.interfaces.NamingContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.jboss/servers/jboss323.serverdef b/plugins/org.eclipse.jst.server.generic.jboss/servers/jboss323.serverdef
deleted file mode 100644
index 04e5b06..0000000
--- a/plugins/org.eclipse.jst.server.generic.jboss/servers/jboss323.serverdef
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="JBOSS 3.2.3" version="v3.2.3">
-<property id="serverRootDirectory"
-	label="%ApplicationServerDirectory"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/appservers/jboss-3.2.3" />
-<property id="serverAddress"
-	label="%serverAddress"
-	type="string"
-	context="server"
-	default="127.0.0.1" />
-<property id="port"
-	label="%serverPort"
-	type="string"
-	context="server"
-	default="8080" />
-<property id="jndiPort"
-	label="%jndiPort"
-	type="string"
-	context="server"
-	default="1099" />	
-
-<property id="serverConfig"
-	label="%jboss323serverConfig"
-	type="select"
-	context="server"
-	default="default,all,minimal" />
-
-
-	<port>
-		<no>${port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-
-	<module>
-		<type>jst.web</type>
-		<publishDir>${serverRootDirectory}/server/${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.ejb</type>
-		<publishDir>${serverRootDirectory}/server/${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.ear</type>
-		<publishDir>${serverRootDirectory}/server/${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-	<project>
-		<classpathReference>jboss.project</classpathReference>
-	</project>
-	
-	<start>
-		<mainClass>org.jboss.Main</mainClass>
-		<workingDirectory>${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-c ${serverConfig}</programArguments>
-		<vmParameters></vmParameters>
-		<classpathReference>jboss</classpathReference>
-	</start>
-
-	<stop>
-		<mainClass>org.jboss.Shutdown</mainClass>
-		<workingDirectory>${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-S</programArguments>
-		<vmParameters></vmParameters>
-		<classpathReference>jboss</classpathReference>
-	</stop>
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/buildfiles/jboss323.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.web</dataname>
-			<datavalue>undeploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ejb</dataname>
-			<datavalue>undeploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ear</dataname>
-			<datavalue>deploy.j2ee.ear</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ear</dataname>
-			<datavalue>undeploy.j2ee.ear</datavalue>
-		</publisherdata>				
-	</publisher>
-
-	<classpath id="jboss" >
-		<archive path="${serverRootDirectory}/bin/run.jar" />
-		<archive path="${serverRootDirectory}/bin/shutdown.jar" />
-		<archive path="${serverRootDirectory}/client/jboss-j2ee.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/javax.servlet.jar" />
-		<archive path="${serverRootDirectory}/lib/jboss-boot.jar" />
-		<archive path="${serverRootDirectory}/lib/jboss-system.jar" />
-		<archive path="${serverRootDirectory}/lib/jboss-jmx.jar" />
-		<archive path="${serverRootDirectory}/lib/jboss-common.jar" />
-		<archive path="${serverRootDirectory}/lib/concurrent.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/jboss.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/jnpserver.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/jpl-pattern.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/jpl-util.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/jboss-transaction.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/bcel.jar" />
-		<archive path="${serverRootDirectory}/lib/jdom.jar" />
-		<archive path="${serverRootDirectory}/lib/xercesImpl.jar" />
-		<archive path="${serverRootDirectory}/lib/xml-apis.jar" />
-		<archive path="${serverRootDirectory}/lib/gnu-regexp.jar" />
-		<archive path="${serverRootDirectory}/lib/getopt.jar" />
-	</classpath>
-
-	<classpath id="jboss.project" >
-		<archive path="${serverRootDirectory}/client/jboss-j2ee.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/javax.servlet.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/activation.jar" />
-		<archive path="${serverRootDirectory}/server/default/lib/mail.jar" />
-	</classpath>
-	<jndiConnection>
-		<providerUrl>jnp://${serverAddress}:${jndiPort}</providerUrl>
-		<initialContextFactory>org.jnp.interfaces.NamingContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/.classpath b/plugins/org.eclipse.jst.server.generic.jonas/.classpath
deleted file mode 100644
index fb0f2c4..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="servers/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/.cvsignore b/plugins/org.eclipse.jst.server.generic.jonas/.cvsignore
deleted file mode 100644
index f09c674..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler.genericjonas.jar.args
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/.project b/plugins/org.eclipse.jst.server.generic.jonas/.project
deleted file mode 100644
index 19d302c..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.jonas</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.jonas/META-INF/MANIFEST.MF
deleted file mode 100644
index 6458bf8..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.generic.jonas; singleton:=true
-Bundle-Version: 1.5.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.generic.core;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.jst.server.generic.ui;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.jst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.2.0)"
-Eclipse-LazyStart: true
-Bundle-ClassPath: genericjonas.jar
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/about.html b/plugins/org.eclipse.jst.server.generic.jonas/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/build.properties b/plugins/org.eclipse.jst.server.generic.jonas/build.properties
deleted file mode 100644
index cb99b1e..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-bin.includes = META-INF/,\
-               icons/,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               servers/,\
-               buildfiles/,\
-               genericjonas.jar
-src.includes = build.properties
-jars.compile.order = genericjonas.jar
-source.genericjonas.jar = servers/
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/buildfiles/jonas.xml b/plugins/org.eclipse.jst.server.generic.jonas/buildfiles/jonas.xml
deleted file mode 100644
index df582a1..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/buildfiles/jonas.xml
+++ /dev/null
@@ -1,214 +0,0 @@
-<project name="deployextension"  default="deploy.j2ee.web"  basedir=".">
-
-	<property name="jonas.root" value="${jonasRoot}"/>
-	<property name="jonas.base" value="${jonasBase}"/>
-	<property name="pause" value="10"/>
-	
-	<path id="base.classpath">
-	    <!-- CLASSPATH is added for runtest target -->
-	    <fileset dir="${jonas.root}/lib">
-	      <include name="**/*.jar"/>
-	      <exclude name="**/ow_jonas_bootstrap.jar"/>
-	    </fileset>
-	</path>				
-	<path id="toolpath">
-		<pathelement path="${jonas.base}/conf;${jonas.root}/lib/common/ow_jonas_bootstrap.jar" />
-	</path>
-
-	<target name="deploy.j2ee.web">
-		<antcall target="jonas-web-undeploy" />
-		<jar destfile="${project.working.dir}/${module.name}.war"> 
-			<zipfileset dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-			</zipfileset>
-		</jar>
-		<move file="${project.working.dir}/${module.name}.war" todir="${server.publish.dir}"/>
-		<antcall target="jonas-web-deploy" />
-	</target>
-	
-	<target name="deploy.j2ee.ejb">
-		<antcall target="jonas-ejb-undeploy" />
-		<jar destfile="${project.working.dir}/${module.name}.jar"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.jar" todir="${server.publish.dir}"/>
-		<antcall target="jonas-ejb-deploy" />
-	</target>
-	
-	
-	
-	<target name="undeploy.j2ee.web">
-		<delete file="${server.publish.dir}/${module.name}.war"> </delete>
-	</target>
-	<target name="undeploy.j2ee.ejb">
-		<delete file="${server.publish.dir}/${module.name}.jar"> </delete>
-	</target>	
-
-	<target name="jonas-ejb-deploy" depends="jonas-jar">
-		<java classname="org.objectweb.jonas.server.Bootstrap" failonerror="false" fork="true" classpathref="toolpath">
-			<arg value="org.objectweb.jonas.adm.JonasAdmin" />
-			<arg value="-a" />
-			<arg value="${server.publish.dir}/${module.name}.jar" />
-			<jvmarg value="-Dinstall.root=${jonas.root}" />
-			<jvmarg value="-Djonas.base=${jonas.base}" />
-			<jvmarg value="-Djava.security.policy=${jonas.base}/conf/java.policy" />
-			<jvmarg value="-Djonas.classpath=" />
-			<jvmarg value="-Djonas.default.classloader=true" />
-			<jvmarg value="-Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate" />
-			<jvmarg value="-Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory" />
-			<jvmarg value="-Djava.security.auth.login.config=${jonas.base}/conf/jaas.config" />
-			<jvmarg value="-Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi" />
-		</java>
-	</target>
-	<target name="jonas-ejb-undeploy">
-		<java classname="org.objectweb.jonas.server.Bootstrap" fork="true" failonerror="false" classpathref="toolpath">
-			<arg value="org.objectweb.jonas.adm.JonasAdmin" />
-			<arg value="-r" />
-			<arg value="${server.publish.dir}/${module.name}.jar" />
-			<jvmarg value="-Dinstall.root=${jonas.root}" />
-			<jvmarg value="-Djonas.base=${jonas.base}" />
-			<jvmarg value="-Djava.security.policy=${jonas.base}/conf/java.policy" />
-			<jvmarg value="-Djonas.classpath=" />
-			<jvmarg value="-Djonas.default.classloader=true" />
-			<jvmarg value="-Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate" />
-			<jvmarg value="-Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory" />
-			<jvmarg value="-Djava.security.auth.login.config=${jonas.base}/conf/jaas.config" />
-			<jvmarg value="-Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi" />
-		</java>
-	</target>
-
-	<target name="jonas-web-deploy">
-
-		<java classname="org.objectweb.jonas.server.Bootstrap" fork="true" failonerror="false" classpathref="toolpath">
-			<arg value="org.objectweb.jonas.adm.JonasAdmin" />
-			<arg value="-a" />
-			<arg value="${server.publish.dir}/${module.name}.war" />
-			<jvmarg value="-Dinstall.root=${jonas.root}" />
-			<jvmarg value="-Djonas.base=${jonas.base}" />
-			<jvmarg value="-Djava.security.policy=${jonas.base}/conf/java.policy" />
-			<jvmarg value="-Djonas.classpath=" />
-			<jvmarg value="-Djonas.default.classloader=true" />
-			<jvmarg value="-Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate" />
-			<jvmarg value="-Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory" />
-			<jvmarg value="-Djava.security.auth.login.config=${jonas.base}/conf/jaas.config" />
-			<jvmarg value="-Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi" />
-		</java>
-	</target>
-	<target name="jonas-web-undeploy">
-		<java classname="org.objectweb.jonas.server.Bootstrap" fork="true" failonerror="false" classpathref="toolpath">
-			<arg value="org.objectweb.jonas.adm.JonasAdmin" />
-			<arg value="-r" />
-			<arg value="${server.publish.dir}/${module.name}.war" />
-			<jvmarg value="-Dinstall.root=${jonas.root}" />
-			<jvmarg value="-Djonas.base=${jonas.base}" />
-			<jvmarg value="-Djava.security.policy=${jonas.base}/conf/java.policy" />
-			<jvmarg value="-Djonas.classpath=" />
-			<jvmarg value="-Djonas.default.classloader=true" />
-			<jvmarg value="-Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate" />
-			<jvmarg value="-Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory" />
-			<jvmarg value="-Djava.security.auth.login.config=${jonas.base}/conf/jaas.config" />
-			<jvmarg value="-Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi" />
-		</java>
-	</target>
-	
-	<target name="jonas-ear-deploy">
-		<java classname="org.objectweb.jonas.server.Bootstrap" fork="true" failonerror="false" classpathref="toolpath">
-			<arg value="org.objectweb.jonas.adm.JonasAdmin" />
-			<arg value="-a" />
-			<arg value="${server.publish.dir}/${module.name}.ear" />
-			<jvmarg value="-Dinstall.root=${jonas.root}" />
-			<jvmarg value="-Djonas.base=${jonas.base}" />
-			<jvmarg value="-Djava.security.policy=${jonas.base}/conf/java.policy" />
-			<jvmarg value="-Djonas.classpath=" />
-			<jvmarg value="-Djonas.default.classloader=true" />
-			<jvmarg value="-Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate" />
-			<jvmarg value="-Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory" />
-			<jvmarg value="-Djava.security.auth.login.config=${jonas.base}/conf/jaas.config" />
-			<jvmarg value="-Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi" />
-		</java>
-	</target>
-
-	<target name="jonas-ear-undeploy">
-		<java classname="org.objectweb.jonas.server.Bootstrap" fork="true" failonerror="false" classpathref="toolpath">
-			<arg value="org.objectweb.jonas.adm.JonasAdmin" />
-			<arg value="-r" />
-			<arg value="${server.publish.dir}/${module.name}.ear" />
-			<jvmarg value="-Dinstall.root=${jonas.root}" />
-			<jvmarg value="-Djonas.base=${jonas.base}" />
-			<jvmarg value="-Djava.security.policy=${jonas.base}/conf/java.policy" />
-			<jvmarg value="-Djonas.classpath=" />
-			<jvmarg value="-Djonas.default.classloader=true" />
-			<jvmarg value="-Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate" />
-			<jvmarg value="-Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory" />
-			<jvmarg value="-Djava.security.auth.login.config=${jonas.base}/conf/jaas.config" />
-			<jvmarg value="-Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi" />
-		</java>
-	</target>
-	
-	
-	
-	<target name="undeploy.j2ee.ear">
-		<delete file="${server.publish.dir}/${module.name}.ear"> </delete>
-	</target>	
-	
-	<target name="deploy.j2ee.ear" depends="-checkJ2EEDeploy" unless="notNeeded">
-		<antcall target="jonas-ear-undeploy" />
-		<jar destfile="${project.working.dir}/${module.name}.ear"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.ear" todir="${server.publish.dir}"/>
-		<antcall target="jonas-ear-deploy" />
-		<sleep seconds="${pause}"/>
-	</target>
-	
-	<target name="-checkJ2EEDeploy">
-		<uptodate property="notNeeded" targetfile="${server.publish.dir}/${module.name}.ear">
-			<srcfiles dir="${module.dir}">
-				<include name="**/*.*"/>
-		   		<exclude name="**/*.java"/>
-			</srcfiles>
-		</uptodate>
-	</target>
-	
-	
-	  <target name="jonas-jar"  >
-		<delete dir="${server.publish.dir}/${module.name}_jonas" failonerror="false" />
-	     
-		<unjar src="${server.publish.dir}/${module.name}.jar" dest="${server.publish.dir}/${module.name}_jonas"/> 
-		<delete file="${server.publish.dir}/${module.name}.jar" failonerror="false"  />
-
-		 <taskdef name="jonasEjbJjar"
-		    classname="org.objectweb.jonas.ant.EjbJar"
-		    classpathref="base.classpath" />
-
-	  	<jonasEjbJjar basejarname="${module.name}"
-		    srcdir="${server.publish.dir}/${module.name}_jonas"
-		    descriptordir="${server.publish.dir}/${module.name}_jonas/META-INF" 
-		    dependency="full" >
-	      <include name="**/ejb-jar.xml"/>
-	      <dtd publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
-		   location="${jonas.root}/xml/ejb-jar_2_0.dtd" />
-	      <support dir="${server.publish.dir}/${module.name}_jonas">
-		  	<include name="**/*.*"/>
-		  	<exclude name="**/MANIFEST.MF"/>
-		  	<exclude name="**/ejb-jar.xml"/>
-		  	<exclude name="**/jonas-ejb-jar.xml"/>
-	      </support>
-	      <jonas destdir="${server.publish.dir}"
-	         classpath="${base.classpath}:${server.publish.dir}/${module.name}_jonas" 
-		     jonasRoot="${jonas.root}" 
-		     mappernames=""
-	         protocols="jrmp,jeremie,iiop"
-		     keepgenerated="false" />
-	    </jonasEjbJjar>
-		<delete dir="${server.publish.dir}/${module.name}_jonas" failonerror="false" /> 
-	 </target>
-
-</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/icons/obj16/jonas.gif b/plugins/org.eclipse.jst.server.generic.jonas/icons/obj16/jonas.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/icons/obj16/jonas.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/plugin.properties b/plugins/org.eclipse.jst.server.generic.jonas/plugin.properties
deleted file mode 100644
index 8c5467e..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/plugin.properties
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/plugin.xml b/plugins/org.eclipse.jst.server.generic.jonas/plugin.xml
deleted file mode 100644
index c84787d..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/plugin.xml
+++ /dev/null
@@ -1,153 +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.generic.runtime.jonas4"
-       name="%jonas4runtimeTypeName"
-       description="%jonas4runtimeTypeDescription"
-       vendor="%jonasCategory"
-       version="4"
-       class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime"
-       >
-       <moduleType
-         types="jst.web"
-         versions="2.2, 2.3, 2.4"/>
-      <moduleType
-         types="jst.ejb"
-         versions="1.1, 2.0, 2.1"/>
-      <moduleType
-         types="jst.ear"
-         versions="1.2, 1.3, 1.4"/>
-      <moduleType
-         types="jst.connector"
-         versions="1.0, 1.5"/>
-       <moduleType
-         types="jst.utility"
-         versions="1.0"/>
-    </runtimeType>
-    
-	</extension>
-
-<extension point="org.eclipse.wst.server.core.serverTypes">
-     <serverType
-           behaviourClass="org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"
-           class="org.eclipse.jst.server.generic.core.internal.GenericServer"
-           description="%jonas4serverTypeDescription"
-           hasConfiguration="false"
-           id="org.eclipse.jst.server.generic.jonas4"
-           initialState="stopped"
-           launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
-           launchModes="run,debug,profile"
-           name="%jonas4serverTypeName"
-           runtime="true"
-           runtimeTypeId="org.eclipse.jst.server.generic.runtime.jonas4"
-           startBeforePublish="true"
-           startTimeout="50000"
-           stopTimeout="15000"
-           supportsRemoteHosts="false">
-     </serverType>    
-    
-	</extension>
-<!-- UI Components-->
-    <extension point="org.eclipse.wst.server.ui.wizardFragments">
-	 <fragment
-        id="org.eclipse.jst.server.generic.runtime"
-        typeIds="org.eclipse.jst.server.generic.runtime.jonas4"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"/>           
-     <fragment
-        id="org.eclipse.jst.server.generic.server"
-        typeIds="org.eclipse.jst.server.generic.jonas4"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"/>   
-  </extension>
-    <extension point="org.eclipse.wst.server.ui.serverImages">
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/jonas.gif"
-         typeIds="org.eclipse.jst.server.generic.runtime.jonas4"/>
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/jonas.gif"
-         typeIds="org.eclipse.jst.server.generic.jonas4"/>
-	</extension>
-
-<!-- Define Classpath provider for all generics -->   
-   <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
-     <runtimeClasspathProvider
-        id="org.eclipse.jst.server.generic.runtimeTarget"
-        runtimeTypeIds="org.eclipse.jst.server.generic.runtime.*"
-        class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"/>
-	</extension>
-
-<!-- Server type definitions -->
-   <extension point="org.eclipse.jst.server.generic.core.serverdefinition">
-		<serverdefinition id="org.eclipse.jst.server.generic.runtime.jonas4" definitionfile="/servers/jonas.serverdef">
-		</serverdefinition>
-  </extension>
-
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">    
-    <runtime-component-type
-       id="org.eclipse.jst.server.generic.runtime.jonas"/>
-
-    <runtime-component-version
-       type="org.eclipse.jst.server.generic.runtime.jonas"
-       version="4.0"/>
-
-    <adapter>
-      <runtime-component
-         id="org.eclipse.jst.server.generic.runtime.jonas"/>
-      <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.generic.runtime.jonas"
-         version="4.0"/>
-      <facet
-         id="jst.web"
-         version="2.2,2.3,2.4"/>
-      <facet
-         id="jst.ejb"
-         version="1.1,2.0,2.1"/>
-      <facet
-         id="jst.ear"
-         version="1.2,1.3,1.4"/>
-      <facet
-         id="jst.connector"
-         version="1.0,1.5"/>
-      <facet
-         id="jst.appclient"
-         version="1.2,1.3,1.4"/>
-      <facet
-         id="jst.utility"
-         version="1.0"/>
-    </supported>
-
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="org.eclipse.jst.server.generic.runtime.jonas"
-      path="icons/obj16/jonas.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="org.eclipse.jst.server.generic.runtime.jonas"/>
-      <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.jst.server.core.runtimeFacetMappings">
-    <runtimeFacetMapping
-      runtimeTypeId="org.eclipse.jst.server.generic.runtime.jonas"
-      runtime-component="org.eclipse.jst.server.generic.runtime.jonas"
-      version="4.0"/>
-  </extension>
-  
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.jonas/servers/jonas.serverdef b/plugins/org.eclipse.jst.server.generic.jonas/servers/jonas.serverdef
deleted file mode 100644
index e082a38..0000000
--- a/plugins/org.eclipse.jst.server.generic.jonas/servers/jonas.serverdef
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="JOnAS 4.x" version="v4.x">
-	<property id="jonasRoot"
-		label="%jonasRoot"
-		type="directory"
-		context="runtime"
-		default="/your_server_root/JOnAS-4.x" />
-	<property id="jonasBase"
-		label="%jonasBase"
-		type="directory"
-		context="runtime"
-		default="/your_server_root/JOnAS-4.x" />
-	<property id="serverAddress"
-		label="%serverAddress"
-		type="string"
-		context="server"
-		default="127.0.0.1" />
-	<property id="port"
-		label="%serverPort"
-		type="string"
-		context="server"
-		default="9000" />
-	<property id="protocols"
-		label="%jonasEjbProtocols"
-		type="string"
-		context="server"
-		default="jrmp" />
-	<property id="mappernames"
-		label="%jonasmappernames"
-		type="string"
-		context="server"
-		default="" />
-
-	<port>
-		<no>${port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-
-	<module>
-		<type>jst.web</type>
-		<publishDir>${jonasBase}/webapps/autoload</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-	<module>
-		<type>jst.ejb</type>
-		<publishDir>${jonasBase}/ejbjars/autoload</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.ear</type>
-		<publishDir>${jonasBase}/apps/autoload</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-	<project>
-		<classpathReference>jonas.project</classpathReference>
-	</project>
-	
-	<start>
-		<mainClass>org.objectweb.jonas.server.Bootstrap</mainClass>
-		<workingDirectory>${jonasRoot}</workingDirectory>
-		<programArguments>org.objectweb.jonas.server.Server</programArguments>
-		<vmParameters>-Dinstall.root="${jonasRoot}" -Djonas.base="${jonasBase}" -Djava.security.policy="${jonasRoot}/conf/java.policy" -Djonas.classpath=-Djonas.default.classloader=true -Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate -Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory -Djava.security.auth.login.config="${jonasRoot}/conf/jaas.config"  -Djava.endorsed.dirs="${jonasRoot}/lib/endorsed" -Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi</vmParameters>
-		<classpathReference>jonas</classpathReference>
-	</start>
-
-	<stop>
-		<mainClass>org.objectweb.jonas.server.Bootstrap</mainClass>
-		<workingDirectory>${jonasRoot}</workingDirectory>
-		<programArguments>org.objectweb.jonas.adm.JonasAdmin -s</programArguments>
-		<vmParameters>-Dinstall.root=${jonasRoot} -Djonas.base=${jonasBase} -Djava.security.policy=${jonasRoot}/conf/java.policy -Djonas.classpath= -Djonas.default.classloader=true -Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate -Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory -Djava.security.auth.login.config=${jonasRoot}/conf/jaas.config  -Djava.endorsed.dirs=${jonasRoot}/lib/endorsed -Djava.rmi.server.RMIClassLoaderSpi=org.objectweb.jonas.server.RemoteClassLoaderSpi</vmParameters>
-		<classpathReference>jonas</classpathReference>
-	</stop>
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/buildfiles/jonas.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.web</dataname>
-			<datavalue>undeploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ejb</dataname>
-			<datavalue>undeploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ear</dataname>
-			<datavalue>deploy.j2ee.ear</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ear</dataname>
-			<datavalue>undeploy.j2ee.ear</datavalue>
-		</publisherdata>			
-	</publisher>
-
-	<classpath id="jonas">
-		<archive path="${jonasRoot}/lib/common/ow_jonas_bootstrap.jar" />
-		<archive path="${jonasRoot}/conf" />
-	</classpath>
-
-	<classpath id="jonas.project">
-		<archive path="${jonasRoot}/lib/common/ow_jonas_bootstrap.jar" />
-		<archive path="${jonasRoot}/lib/commons/j2ee/ejb-2_1-api.jar" />
-		<archive path="${jonasRoot}/lib/commons/j2ee/servlet-2_4.jar" />
-		<archive path="${jonasRoot}/lib/commons/j2ee/jms.jar" />
-	</classpath>
-	<jndiConnection>
-		<providerUrl>iiop://${serverAddress}:2001</providerUrl>
-		<initialContextFactory>org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore b/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
deleted file mode 100644
index 42654c1..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-build.xml
-commonmodules.jar
-org.eclipse.jst.server.generic.modules_1.0.0.jar
-temp.folder
diff --git a/plugins/org.eclipse.jst.server.generic.modules/.project b/plugins/org.eclipse.jst.server.generic.modules/.project
deleted file mode 100644
index af14ba8..0000000
--- a/plugins/org.eclipse.jst.server.generic.modules/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/.classpath b/plugins/org.eclipse.jst.server.generic.oc4j/.classpath
deleted file mode 100644
index fb0f2c4..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="servers/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/.cvsignore b/plugins/org.eclipse.jst.server.generic.oc4j/.cvsignore
deleted file mode 100644
index fc5e414..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-build.xml
-javaCompiler.genericoc4j.jar.args
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/.project b/plugins/org.eclipse.jst.server.generic.oc4j/.project
deleted file mode 100644
index cdbf29f..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.oc4j</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.oc4j/META-INF/MANIFEST.MF
deleted file mode 100644
index 56a49f2..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.server.generic.oc4j;singleton:=true
-Bundle-Version: 1.5.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jst.server.generic.core;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.jst.server.generic.ui;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.2.0)"
-Eclipse-LazyStart: true
-Bundle-ClassPath: genericoc4j.jar
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/about.html b/plugins/org.eclipse.jst.server.generic.oc4j/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/build.properties b/plugins/org.eclipse.jst.server.generic.oc4j/build.properties
deleted file mode 100644
index 35f52a0..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               about.html,\
-               icons/,\
-               buildfiles/,\
-               plugin.properties,\
-               servers/,\
-               genericoc4j.jar
-src.includes = build.properties
-source.genericoc4j.jar = servers/
-jars.compile.order = genericoc4j.jar
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle.10.1.3.xml b/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle.10.1.3.xml
deleted file mode 100644
index 33e460c..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle.10.1.3.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<project name="publish"  basedir="." xmlns:oracle="antlib:oracle">
-	<import file="oracle/ant-oracle.xml"/>
-		
-	<!-- Only localhost is currently supported by this implementation -->
-	<property name="oc4j.host" value="localhost"/> 
-
-	<property name="deployer.uri" value="deployer:oc4j:${oc4j.host}:${oc4j.admin.port}" />
-	
-	<target name="check.skip.web.deploy">
-		<uptodate property="skip.deploy" targetfile="${server.publish.dir}/${module.name}.war">
-			<srcfiles dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-				<exclude name="**/*.java"/>
-			</srcfiles>
-		</uptodate>
-	</target>
-	
-	<target name="check.skip.ejb.deploy">
-		<uptodate property="skip.deploy" targetfile="${server.publish.dir}/${module.name}.jar">
-			<srcfiles dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.java"/>
-			</srcfiles>
-		</uptodate>
-	</target>
-	
-	<target name="check.skip.ear.deploy">
-		<uptodate property="skip.deploy" targetfile="${server.publish.dir}/${module.name}.ear">
-			<srcfiles dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.java"/>
-			</srcfiles>
-		</uptodate>
-	</target>
-	
-	<target name="package.module.web">
-		<jar destfile="${server.publish.dir}/${module.name}.war"> 
-			<zipfileset dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-				<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-	</target>
-		
-	<target name="package.module.ejb">
-		<jar destfile="${server.publish.dir}/${module.name}.jar"> 
-			<zipfileset dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-	</target>
-		
-	<target name="package.module.ear">
-		<jar destfile="${server.publish.dir}/${module.name}.ear"> 
-			<zipfileset dir="${module.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-	</target>	
-	
-	<target name="deploy.j2ee.web" depends="check.skip.web.deploy" unless="skip.deploy">
-		<antcall target="package.module.web"/>
-		<oracle:deploy
-			deployerUri="${deployer.uri}" 
-			userId="${oc4j.admin.user}"
-			password="${oc4j.admin.password}"
-			file="${server.publish.dir}/${module.name}.war"
-			deploymentName="${module.name}"
-			contextRoot="${module.name}"
-			bindAllWebApps="${oc4j.bind.website}"/>
-	</target>
-	
-	<target name="deploy.j2ee.ejb" depends="check.skip.ejb.deploy" unless="skip.deploy" >
-		<antcall target="package.module.ejb"/>
-		<oracle:deploy
-			deployerUri="${deployer.uri}" 
-			userId="${oc4j.admin.user}"
-			password="${oc4j.admin.password}"
-			file="${server.publish.dir}/${module.name}.jar"
-			deploymentName="${module.name}"
-			bindAllWebApps="${oc4j.bind.website}"/>
-	</target>
-	
-	<target name="deploy.j2ee.ear" depends="check.skip.ear.deploy" unless="skip.deploy">
-		<antcall target="package.module.ear"/>
-		
-		<oracle:deploy
-			deployerUri="${deployer.uri}" 
-			userId="${oc4j.admin.user}"
-			password="${oc4j.admin.password}"			
-			file="${server.publish.dir}/${module.name}.ear"
-			deploymentName="${module.name}"
-			bindAllWebApps="${oc4j.bind.website}"/>
-	</target>
-	
-	<target name="undeploy.j2ee.module">
-		<oracle:undeploy
-			deployerUri="${deployer.uri}"
-			userId="${oc4j.admin.user}"
-			password="${oc4j.admin.password}"
-			deploymentName="${module.name}"/>
-	</target>
-	
-</project>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle/ant-oracle.1013dp4.xml b/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle/ant-oracle.1013dp4.xml
deleted file mode 100644
index cfe8599..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle/ant-oracle.1013dp4.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<project name="anttasks">
-
-    <!--This file has been modified for use by the Oracle Eclipse WTP plugin. 	-->
-    
-    <property environment="env"/>     
-	
-    <property name="J2EE_HOME" value="${OC4J_HOME}"/>
-    <property name="ORACLE_HOME" value="${OC4J_HOME}/../.."/>
-    <property name="JAVA_HOME" value="${java.home}"/>
-    <property name="OJDK_HOME" value="${ORACLE_HOME}/jdk"/>
-    <property name="TOPLINK_HOME" value="${env.TOPLINK_HOME}"/>
-
-    <!-- If your OS does not support the environment variable
-         Comment out the 3 lines above, and un-comment the 2
-         below. -->
-    <!--
-    <property name="JAVA_HOME" value="d:\Program Files\jdk131"/>
-    <property name="OC4J_HOME" value="d:\Apps\OC4Jv2"/>
-    -->
-
-    <!-- Runtime classpath for J2EE based applications -->
-    <path id="common.j2ee.class.path">
-        <pathelement location="."/>
-        <pathelement location="${ORACLE_HOME}/jdbc/lib/classes12.jar"/>
-        <pathelement location="${J2EE_HOME}/oc4j.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/jndi.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/ejb.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/servlet.jar"/>
-        <pathelement location="${ORACLE_HOME}/jdk/jre/lib/ext/jta.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/jdbc.jar"/>
-        <pathelement location="./build"/>
-        <pathelement location="${J2EE_HOME}/lib/jms.jar"/>
-    </path>
-    <property name="common.j2ee.class.path" refid="common.j2ee.class.path"/>
-
-    <!-- Runtime classpath for webservices applications. -->
-    <path id="common.webservices.class.path">
-        <pathelement location="${J2EE_HOME}/lib/jax-qname-namespace.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/activation.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/mail.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/http_client.jar"/>
-        <pathelement location="${ORACLE_HOME}/lib/xmlparserv2.jar"/>
-        
-         <pathelement location="${ORACLE_HOME}/jlib/osdt_wss.jar"/>
-         <pathelement location="${ORACLE_HOME}/jlib/osdt_xmlsec.jar"/>
-         <pathelement location="${ORACLE_HOME}/jlib/osdt_cert.jar"/>
-         <pathelement location="${ORACLE_HOME}/jlib/osdt_core.jar"/>
-         <pathelement location="${ORACLE_HOME}/jlib/osdt_saml.jar"/>
-         
-        <pathelement location="${ORACLE_HOME}/webservices/lib/wsserver.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/wsclient.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/wssecurity.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/dom4j.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/commons-logging.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/jaxrpc-api.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/jaxrpc.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/saaj-api.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/orasaaj.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/xsdlib.jar"/>
-    </path>
-    <property name="common.webservices.class.path" refid="common.webservices.class.path"/>
-
-    <!-- OC4J tasks classpath.  -->
-    <path id="common.tasks.class.path">
-        <pathelement location="${ORACLE_HOME}/ant/lib/ant-oracle.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/javax88.jar"/>
-        <pathelement location="${J2EE_HOME}/admin_client.jar"/>
-        <pathelement location="${J2EE_HOME}/oc4jclient.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/wsa.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/bcel.jar"/>
-    </path>
-    <property name="common.tasks.class.path" refid="common.tasks.class.path"/>
-
-    <!-- Target for displaying build information. -->
-    <target name="common">
-        <echo message="BuildName: ${ant.project.name}"/>
-        <echo message="BuildHome: ${basedir}"/>
-        <echo message="BuildFile: ${ant.file}"/>
-        <echo message="BuildJVM: ${ant.java.version}"/>
-    </target>
-
-    <!-- Task definitions for oc4j deployment tasks -->
-    <taskdef resource="oracle/antlib.xml" uri="antlib:oracle" loaderRef="oracle.tasks.loader">
-    	<classpath>
-            <pathelement path="${common.tasks.class.path}"/> 
-        </classpath>
-    </taskdef>
-
-
-</project>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle/ant-oracle.xml b/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle/ant-oracle.xml
deleted file mode 100644
index 8178083..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/buildfiles/oracle/ant-oracle.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<project name="anttasks">
-
-    <!--This file has been modified for use by the Oracle Eclipse WTP plugin. 	-->    
-    <property environment="env"/>     
-
-    <property name="J2EE_HOME" value="${OC4J_HOME}"/>
-    <property name="ORACLE_HOME" value="${OC4J_HOME}/../.."/>
-    <property name="JAVA_HOME" value="${java.home}"/>
-    <property name="OJDK_HOME" value="${ORACLE_HOME}/jdk"/>
-    <property name="TOPLINK_HOME" value="${env.TOPLINK_HOME}"/>
-	
-    <!-- Runtime classpath for J2EE based applications -->
-    <path id="common.j2ee.class.path">
-        <pathelement location="."/>
-        <pathelement location="${ORACLE_HOME}/jdbc/lib/ojdbc14dms.jar"/>
-        <pathelement location="${J2EE_HOME}/oc4j.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/ejb.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/servlet.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/jta.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/jms.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/javax88.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/javax77.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/jmxri.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/jmx_remote_api.jar"/>
-        <pathelement location="./build"/>
-    </path>
-    <property name="common.j2ee.class.path" refid="common.j2ee.class.path"/>
-
-    <!-- Runtime classpath for webservices applications. -->
-    <path id="common.webservices.class.path">
-        <pathelement location="${J2EE_HOME}/lib/jax-qname-namespace.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/activation.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/mail.jar"/>
-        <pathelement location="${J2EE_HOME}/lib/http_client.jar"/>
-        <pathelement location="${ORACLE_HOME}/lib/xmlparserv2.jar"/>
-        <pathelement location="${ORACLE_HOME}/jlib/ojpwss.jar"/>
-        <pathelement location="${ORACLE_HOME}/jlib/ojpxml.jar"/>
-        <pathelement location="${ORACLE_HOME}/jlib/ojpse.jar"/>
-        <pathelement location="${ORACLE_HOME}/jlib/ojpsaml.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/wsserver.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/wsclient.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/wssecurity.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/dom4j.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/commons-logging.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/jaxrpc-api.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/jaxrpc.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/saaj-api.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/orasaaj.jar"/>
-        <pathelement location="${ORACLE_HOME}/webservices/lib/xsdlib.jar"/>
-    </path>
-    <property name="common.webservices.class.path" refid="common.webservices.class.path"/>
-
-    <!-- OC4J tasks classpath.  -->
-    <path id="common.tasks.class.path">
-    	<pathelement location="${ORACLE_HOME}/ant/lib/ant-oracle.jar"/>
-    </path>
-    <property name="common.tasks.class.path" refid="common.tasks.class.path"/>
-
-    <!-- Target for displaying build information. -->
-    <target name="common">
-        <echo message="BuildName: ${ant.project.name}"/>
-        <echo message="BuildHome: ${basedir}"/>
-        <echo message="BuildFile: ${ant.file}"/>
-        <echo message="BuildJVM: ${ant.java.version}"/>
-    </target>
-
-    <!-- Task definitions for oc4j deployment tasks -->
-    <taskdef resource="oracle/antlib.xml" uri="antlib:oracle" loaderRef="oracle.tasks.loader">
-    	<classpath>
-            <pathelement path="${common.tasks.class.path}"/> 
-        </classpath>
-    </taskdef>
-
-    <!-- Task definitions for oc4j webservices tasks -->
-    <taskdef resource="oracle/antlib.xml" uri="antlib:oracle" loaderRef="oracle.tasks.loader">
-        <classpath>
-            <pathelement path="${common.tasks.class.path}"/>
-        </classpath>
-    </taskdef>	
-	
-</project>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/icons/obj16/oracle.gif b/plugins/org.eclipse.jst.server.generic.oc4j/icons/obj16/oracle.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/icons/obj16/oracle.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/plugin.properties b/plugins/org.eclipse.jst.server.generic.oc4j/plugin.properties
deleted file mode 100644
index d79f6e9..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/plugin.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName= OC4J Generic server definitions
-providerName=Eclipse.org
-pluginDescription=Provides OC4J Generic server definitions
-
-
-# ============ OC4J 10.1.3 DP 4====================
-pluginName= Oracle OC4J v10.1.3 DP4 Generic Server Definition Core Plug-in
-pluginDescription=Provides server definition for Oracle OC4J Standalone 10.1.3 DP4.\
-Provides basic server functionality
-oracleCategory=Oracle
-
-oracle.10_1_3Preview.runtime.name=Oracle OC4J Standalone 10.1.3 DP4
-oracle.10_1_3Preview.runtime.description=Oracle OC4J 10.1.3 DP4 runtime
-oracle.10_1_3Preview.server.name=Oracle OC4J Standalone Server 10.1.3 DP4
-oracle.10_1_3Preview.server.description=Oracle OC4J Standalone Server for v10.1.3 \
-Developer Preview 4 on the localhost using the default instance
-
-# ============ OC4J 10.1.3 ====================
-oc4j.pluginName= Oracle OC4J v10.1.3 Generic Server Definition Core Plug-in
-oc4j.pluginDescription=Provides server definition for Oracle OC4J Standalone 10.1.3.\
-Provides basic server functionality
-
-oracle.10_1_3.runtime.name=Oracle OC4J Standalone 10.1.3
-oracle.10_1_3.runtime.description=Oracle OC4J 10.1.3 runtime
-oracle.10_1_3.server.name=Oracle OC4J Standalone Server 10.1.3
-oracle.10_1_3.server.description=Oracle OC4J Standalone Server for v10.1.3 \
-on the localhost using the default instance
-
-# UI Labels
-label.j2ee.home=Oracle J2EE Home:
-label.admin.user=User: 
-label.admin.pw=Password:
-label.host=Address:
-label.host.port=Admin Port:
-label.http.port=HTTP Port:
-label.web.site=Web Site:
-
-# ============== serverdef translations ================
-ApplicationServerDirectory=Application &Server Directory:
-serverAddress=A&ddress:
-serverPort=&Port:
-jndiPort=&JNDI Port:
-serverclassPath=&Classpath Variable:
-serverName=Ser&ver Name:
-username=Use&r Name:
-password=Pass&word:
-
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/plugin.xml b/plugins/org.eclipse.jst.server.generic.oc4j/plugin.xml
deleted file mode 100644
index c16c8a2..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/plugin.xml
+++ /dev/null
@@ -1,138 +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.generic.runtime.oracle1013"
-       name="%oracle.10_1_3.runtime.name"
-       description="%oracle.10_1_3.runtime.description"
-       vendor="%oracleCategory"
-       version="10.1.3"
-       class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime">
-      <moduleType
-         types="jst.web"
-         versions="2.2, 2.3, 2.4"/>
-      <moduleType
-         types="jst.ejb"
-         versions="1.1, 2.0, 2.1, 3.0"/>
-      <moduleType
-         types="jst.ear"
-         versions="1.2, 1.3, 1.4"/>
-      <moduleType
-         types="jst.connector"
-         versions="1.0, 1.5"/>
-       <moduleType
-         types="jst.utility"
-         versions="1.0"/> 
-     </runtimeType>
-   </extension>
-   
-   <extension point="org.eclipse.wst.server.core.serverTypes">
-     <serverType
-           behaviourClass="org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"
-           class="org.eclipse.jst.server.generic.core.internal.GenericServer"
-           description="%oracle.10_1_3.server.description"
-           hasConfiguration="false"
-           id="org.eclipse.jst.server.generic.oracle1013"
-           initialState="stopped"
-           launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
-           launchModes="run,debug"
-           name="%oracle.10_1_3.server.name"
-           runtime="true"
-           runtimeTypeId="org.eclipse.jst.server.generic.runtime.oracle1013"
-           startBeforePublish="true"
-           supportsRemoteHosts="false">           
-      </serverType> 
-   </extension>
-   
-   <extension point="org.eclipse.wst.server.ui.wizardFragments">
-     <fragment
-        id="org.eclipse.jst.server.generic.runtime"
-        typeIds="org.eclipse.jst.server.generic.runtime.oracle1013"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"/>
-     <fragment
-        id="org.eclipse.jst.server.generic.server"
-        typeIds="org.eclipse.jst.server.generic.oracle1013"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"/>         
-   </extension>
-   
-   <extension point="org.eclipse.wst.server.ui.serverImages">   
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/oracle.gif"
-         typeIds="org.eclipse.jst.server.generic.oracle1013" />
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/oracle.gif"
-         typeIds="org.eclipse.jst.server.generic.runtime.oracle1013"/>   
-   </extension>   
-   
-   <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">   
-     <runtimeClasspathProvider
-        id="org.eclipse.jst.server.generic.runtimeTarget"
-        runtimeTypeIds="org.eclipse.jst.server.generic.runtime.oracle1013"
-        class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"/>   
-   </extension>
-   
-   <extension point="org.eclipse.jst.server.generic.core.serverdefinition">
-		<serverdefinition id="org.eclipse.jst.server.generic.runtime.oracle1013" definitionfile="/servers/oracle.10.1.3.serverdef">
-		</serverdefinition>		
-   </extension>
-   
-   <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <runtime-component-type id="org.eclipse.jst.server.generic.runtime.oracle">
-    </runtime-component-type>
-       
-    <runtime-component-version
-       type="org.eclipse.jst.server.generic.runtime.oracle"
-       version="10.1.3"/>
-
-    <adapter>
-      <runtime-component
-         id="org.eclipse.jst.server.generic.runtime.oracle"/>
-      <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.generic.runtime.oracle"
-         version="10.1.3"/>
-      <facet id="jst.web"
-         version="2.2,2.3,2.4"/>
-      <facet id="jst.ejb"
-         version="1.1,2.0,2.1"/>
-      <facet id="jst.ear"
-         version="1.2,1.3,1.4"/>
-      <facet id="jst.appclient"
-         version="1.2,1.3,1.4"/>
-      <facet id="jst.utility"
-         version="1.0"/>
-      <facet id="jst.connector"
-         version="1.5"/>
-    </supported>    
-   </extension>
-   
-   <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="org.eclipse.jst.server.generic.runtime.oracle"
-          path="icons/obj16/oracle.gif"/>   
-   </extension>
-   
-   <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="org.eclipse.jst.server.generic.runtime.oracle"/>
-      <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.jst.server.core.runtimeFacetMappings">
-    <runtimeFacetMapping
-      runtimeTypeId="org.eclipse.jst.server.generic.runtime.oracle1013"
-      runtime-component="org.eclipse.jst.server.generic.runtime.oracle"
-      version="10.1.3"/>
-    </extension>
-   
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.oc4j/servers/oracle.10.1.3.serverdef b/plugins/org.eclipse.jst.server.generic.oc4j/servers/oracle.10.1.3.serverdef
deleted file mode 100644
index 0c1c3f5..0000000
--- a/plugins/org.eclipse.jst.server.generic.oc4j/servers/oracle.10.1.3.serverdef
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="Oracle OC4J Standalone Server v10.1.3" version="v10.1.3">
-	
-	<property id="OC4J_HOME"
-		label = "%label.j2ee.home"
-		type="directory"
-		context="runtime"
-		default="C:/oracle/OC4J10.1.3/j2ee/home"/>
-		
-	<property id="oc4j.admin.user"
-		label="%label.admin.user"
-		type="string"
-		context="server"
-		default="oc4jadmin" />
-		
-	<property id="oc4j.admin.password"
-		label="%label.admin.pw"
-		type="string"
-		context="server"
-		default="welcome" />
-		
-	<property id="oc4j.admin.port"
-		label="%label.host.port"
-		type="string"
-		context="server"
-		default="23791" />
-		
-	<property id="oc4j.http.port"
-		label="%label.http.port"
-		type="string"
-		context="server"
-		default="8888" />	
-			
-	<property id="oc4j.bind.website"
-		label="%label.web.site"
-		type="string"
-		context="server"
-		default="default-web-site" />
-		
-	<port>
-		<no>${oc4j.http.port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-	
-	<module>
-		<type>jst.web</type>
-		<publishDir>${OC4J_HOME}/applications</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-	<module>
-		<type>jst.ejb</type>
-		<publishDir>${OC4J_HOME}/applications</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-	<module>
-		<type>jst.ear</type>
-		<publishDir>${OC4J_HOME}/applications</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>	
-	
-	<project>
-		<classpathReference>oracle_oc4j</classpathReference>
-	</project>
-	
-	<start >
-		<mainClass>oracle.oc4j.loader.boot.BootStrap</mainClass>
-		<workingDirectory>${OC4J_HOME}</workingDirectory>
-		<programArguments></programArguments>
-		<vmParameters></vmParameters>
-		<classpathReference>oracle_boot</classpathReference>
-	</start>
-
-	<stop>
-	    <mainClass>com.evermind.client.orion.Oc4jAdminConsole</mainClass> 
-	    <workingDirectory>${OC4J_HOME}</workingDirectory>  
-	    <programArguments>ormi://localhost:${oc4j.admin.port} ${oc4j.admin.user} ${oc4j.admin.password} -shutdown </programArguments>
-	    <vmParameters></vmParameters>
-	    <classpathReference>oracle_admin</classpathReference>
-	</stop>
-	
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/buildfiles/oracle.10.1.3.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ear</dataname>
-			<datavalue>deploy.j2ee.ear</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.web</dataname>
-			<datavalue>undeploy.j2ee.module</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ejb</dataname>
-			<datavalue>undeploy.j2ee.module</datavalue>
-		</publisherdata>	
-		<publisherdata>
-			<dataname>target.unpublish.jst.ear</dataname>
-			<datavalue>undeploy.j2ee.module</datavalue>
-		</publisherdata>		
-	</publisher>
-
-	<classpath id="oracle_admin">
-		<archive path="${OC4J_HOME}/admin.jar"/>
-	</classpath>
-	
-	<classpath id="oracle_boot">
-		<archive path="${OC4J_HOME}/oc4j.jar"/>
-	</classpath>
-	
-	<classpath id="oracle_oc4j">
-		<archive path="${OC4J_HOME}/oc4j.jar"/>
-		<archive path="${OC4J_HOME}/oc4jclient.jar"/>    		
-		<archive path="${OC4J_HOME}/lib/activation.jar"/>
-		<archive path="${OC4J_HOME}/lib/asm.jar"/>
-		<archive path="${OC4J_HOME}/lib/asm-attrs.jar"/>
-		<archive path="${OC4J_HOME}/lib/connector.jar"/>
-		<archive path="${OC4J_HOME}/lib/ejb.jar"/>
-		<archive path="${OC4J_HOME}/lib/ejb30.jar"/>
-		<archive path="${OC4J_HOME}/lib/jacc-api.jar"/>	
-		<archive path="${OC4J_HOME}/lib/javax77.jar"/>
-		<archive path="${OC4J_HOME}/lib/javax88.jar"/>		
-		<archive path="${OC4J_HOME}/lib/jax-qname-namespace.jar"/> 		
-		<archive path="${OC4J_HOME}/lib/jms.jar"/>
-		<archive path="${OC4J_HOME}/lib/jmx_remote_api.jar"/>		
-		<archive path="${OC4J_HOME}/lib/jta.jar"/>
-		<archive path="${OC4J_HOME}/lib/mail.jar"/>
-		<archive path="${OC4J_HOME}/lib/oc4j-unsupported-api.jar"/>
-		<archive path="${OC4J_HOME}/lib/servlet.jar"/>
-		<archive path="${OC4J_HOME}/../../lib/xmlparserv2.jar"/>
-		<archive path="${OC4J_HOME}/../../toplink/jlib/antlr.jar"/>
-		<archive path="${OC4J_HOME}/../../toplink/jlib/toplink.jar"/>		  		
-		<archive path="${OC4J_HOME}/../../webservices/lib/soap.jar"/>
-		<archive path="${OC4J_HOME}/../../webservices/lib/wsdl.jar"/>		
-	</classpath>
-	
-	<jndiConnection>
-		<providerUrl>ormi://localhost:${oc4j.admin.port}</providerUrl>
-		<initialContextFactory>com.evermind.server.rmi.RMIInitialContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-
-</tns:ServerRuntime>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.classpath b/plugins/org.eclipse.jst.server.generic.ui/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore b/plugins/org.eclipse.jst.server.generic.ui/.cvsignore
deleted file mode 100644
index 60839a8..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-bin
-build.xml
-genericui.jar
-org.eclipse.jst.server.generic.ui_1.0.0.jar
-temp.folder
-genericuisrc.zip
-@dot
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.server.generic.ui/.project b/plugins/org.eclipse.jst.server.generic.ui/.project
deleted file mode 100644
index af14ba8..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.generic.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.generic.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index c147b7e..0000000
--- a/plugins/org.eclipse.jst.server.generic.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.jst.server.generic.ui; singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.jst.server.generic.ui.internal.GenericUiPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.server.generic.ui.internal;x-internal:=true
-Require-Bundle: org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.debug.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.generic.core;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)"
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.server.generic.ui/about.html b/plugins/org.eclipse.jst.server.generic.ui/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.generic.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>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/build.properties b/plugins/org.eclipse.jst.server.generic.ui/build.properties
deleted file mode 100644
index eb9ec43..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               .,\
-               icons/,\
-               plugin.properties,\
-               META-INF/,\
-               about.html
-src.includes = build.properties
diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/icons/obj16/server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif b/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif
deleted file mode 100644
index 30de91f..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/icons/wizban/new_server_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties b/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
deleted file mode 100644
index a105be1..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName=Generic Server Plugin UI
-providerName=Eclipse.org
-pluginDescription=UI Components for the generic server plugin.
-
diff --git a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml b/plugins/org.eclipse.jst.server.generic.ui/plugin.xml
deleted file mode 100644
index ba8f5f9..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-  <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.generic.image.ui.launchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.generic.core.launchConfigurationType"
-      icon="icons/obj16/server.gif">
-    </launchConfigurationTypeImage>
-    <launchConfigurationTypeImage
-      id="org.eclipse.jst.server.generic.image.ui.ExternalLaunchConfigurationTypeImage"
-      configTypeID="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
-      icon="icons/obj16/server.gif">
-    </launchConfigurationTypeImage>
-  </extension>
-  
-  <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.generic.core.launchConfigurationType"
-      class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-    <launchConfigurationTabGroup
-      id="org.eclipse.jst.server.generic.ui.internal.launchConfigurationTabGroup"
-      type="org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"
-      class="org.eclipse.jst.server.generic.ui.internal.GenericLaunchConfigurationTabGroup">
-    </launchConfigurationTabGroup>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java
deleted file mode 100644
index 5ec5c55..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.jst.server.generic.internal.core.util.ExtensionPointUtil;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.ui.ServerLaunchConfigurationTab;
-
-
-public class GenericLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup{
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[7];
-		tabs[0] = new ServerLaunchConfigurationTab(getTypeIds());
-		tabs[0].setLaunchConfigurationDialog(dialog);
-		tabs[1] = new JavaArgumentsTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		tabs[2] = new JavaClasspathTab();
-		tabs[2].setLaunchConfigurationDialog(dialog);
-		tabs[3] = new SourceLookupTab();
-		tabs[3].setLaunchConfigurationDialog(dialog);
-		tabs[4] = new EnvironmentTab();
-		tabs[4].setLaunchConfigurationDialog(dialog);
-		tabs[5] = new JavaJRETab();
-		tabs[5].setLaunchConfigurationDialog(dialog);	 
-		tabs[6] = new CommonTab();
-		tabs[6].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}
-
-	private String[] getTypeIds() {
-		ArrayList list = new ArrayList();
-		IExtension[] extensions= ExtensionPointUtil.getGenericServerDefinitionExtensions();
-		 for (int i = 0; extensions!=null && i < extensions.length; i++) {
-			 IExtension extension = extensions[i];
-	         IConfigurationElement[] elements = ExtensionPointUtil.getConfigurationElements(extension);
-	         for (int j = 0; j < elements.length; j++) {
-	        	 IConfigurationElement element = elements[j];
-	        	 String genericRuntimeID = element.getAttribute("id");
-	        	 IServerType[] serverTypes = ServerCore.getServerTypes();
-	        	 for (int k = 0; k < serverTypes.length; k++) {
-					if(serverTypes[k].hasRuntime() && serverTypes[k].getRuntimeType().getId().equals(genericRuntimeID))
-						list.add(serverTypes[k].getId());
-				}
-	         }
-		 }
-		 return (String[])list.toArray(new String[list.size()]);
-	}
-	
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java
deleted file mode 100644
index 699369b..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerComposite.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-public class GenericServerComposite extends Composite {
-
-	private GenericServerCompositeDecorator[] fDecorators;
-	public GenericServerComposite(Composite parent, GenericServerCompositeDecorator[] decorators) {
-		super(parent, SWT.NONE);
-		fDecorators = decorators;
-		GridLayout layout =new GridLayout(3,false); 
-		setLayout(layout);
-        setLayoutData(new GridData(GridData.FILL_BOTH));
-		createControl();
-	}
-
-	private void createControl(){
-		for (int i = 0; fDecorators!= null && i < fDecorators.length; i++) {
-			fDecorators[i].decorate(this);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java
deleted file mode 100644
index 2f238c6..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerCompositeDecorator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-
-/**
- * 
- * @author Gorkem Ercan
- */
-public interface GenericServerCompositeDecorator 
-{
-	/**
-	 * 
-	 * @param composite
-	 */
-	public abstract void decorate(GenericServerComposite composite);
-    /**
-	 * Called if all the fields are valid. This gives subclasses opportunity to
-	 * validate and take necessary actions.
-	 * 
-	 * @return boolean
-	 */
-	public abstract boolean validate();
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java
deleted file mode 100644
index ba97604..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerRuntimeWizardFragment.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.internal.IInstallableRuntime;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.core.model.RuntimeDelegate;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-/**
- * A serverDefinitionType aware wizard for defining runtimes.
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerRuntimeWizardFragment extends ServerDefinitionTypeAwareWizardFragment {
-	
-	private GenericServerCompositeDecorator[] fDecorators;
-	
-	
-	/**
-	 * Constructor
-	 */
-	public GenericServerRuntimeWizardFragment() {
-		super();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#isComplete()
-	 */
-	public boolean isComplete() {
-	  	RuntimeDelegate runtime = getRuntimeDelegate();
-		if (runtime == null)
-			return false;
-		IStatus status = runtime.validate();
-		return (status != null && status.isOK());
-	}
-	
-	public void createContent(Composite parent, IWizardHandle handle) {		
-		Map properties= null;
-		ServerRuntime definition=null;
-        if(getRuntimeDelegate()!=null){
- 			properties = getRuntimeDelegate().getServerInstanceProperties();
-			definition = getServerTypeDefinition(getServerDefinitionId(),properties);
-		}       
-        IInstallableRuntime ir = ServerPlugin.findInstallableRuntime(getRuntimeDelegate().getRuntime().getRuntimeType().getId());
-        if (ir!= null){	
-        	fDecorators= new GenericServerCompositeDecorator[3]; 
-        	fDecorators[0]= new JRESelectDecorator(getRuntimeDelegate());
-        	fDecorators[1]= new ServerTypeDefinitionRuntimeDecorator(definition,properties,getWizard(),getRuntimeDelegate());
-        	fDecorators[2]= new InstallableRuntimeDecorator(getWizard(), getRuntimeDelegate());
-        }
-        else{
-        	fDecorators= new GenericServerCompositeDecorator[2]; 
-        	fDecorators[0]= new JRESelectDecorator(getRuntimeDelegate());
-        	fDecorators[1]= new ServerTypeDefinitionRuntimeDecorator(definition,properties,getWizard(),getRuntimeDelegate());
-        }
-		
-		new GenericServerComposite(parent,fDecorators);
-	}
-
-	
-	private String getServerDefinitionId(){
-		String currentDefinition= null;
-		if(getRuntimeDelegate()!=null)
-			currentDefinition =  getRuntimeDelegate().getRuntime().getRuntimeType().getId();
-		if(currentDefinition!= null && currentDefinition.length()>0)
-		{	
-			return currentDefinition;
-		}
-		return null;
-	}
-	
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.ui.wizard.IWizardFragment#enter()
-	 */
-	public void enter() {
-	    if(getRuntimeDelegate()!=null)
-			getRuntimeDelegate().getRuntimeWorkingCopy().setName(createName());
-	    
-	    for (int i = 0; i < fDecorators.length; i++) {
-			if(fDecorators[i].validate())
-				return;
-		}
-	}
-	
-	public void exit() {
-		//validate to save latest values
-	    for (int i = 0; i < fDecorators.length; i++) {
-			if(fDecorators[i].validate())
-				return;
-		}
-	}
-
-
-	private String createName()
-	{
-	    RuntimeDelegate dl = getRuntimeDelegate();
-	    IRuntimeType runtimeType = dl.getRuntime().getRuntimeType();
-	    String name = GenericServerUIMessages.bind(GenericServerUIMessages.runtimeName,runtimeType.getName());
-		IRuntime[] list = ServerCore.getRuntimes();
-		int suffix = 1;
-		String suffixName=name;
-		for(int i=0;i<list.length;i++)
-	    {
-	        if((list[i].getName().equals(name)|| list[i].getName().equals(suffixName))&& !list[i].equals(dl.getRuntime()))
-	            suffix++;
-	        suffixName= name+" "+suffix;
-	    }
-	    
-		if(suffix>1)
-		    return suffixName;
-	    return name;
-	}
-	
-	private GenericServerRuntime getRuntimeDelegate(){
-		IRuntimeWorkingCopy wc = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		if (wc == null)
-			return null;
-		return (GenericServerRuntime) wc.loadAdapter(GenericServerRuntime.class, new NullProgressMonitor());
-	}
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description()
-     */
-    public String description() {
-        String rName = getRuntimeName();
-        if(rName == null || rName.length()<1)
-            rName="Generic";      
-        return  GenericServerUIMessages.bind(GenericServerUIMessages.runtimeWizardDescription,rName);
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
-     */
-    public String title() {
-        String rName = getRuntimeName();
-        if(rName == null || rName.length()<1)
-            rName="Generic";
-       return GenericServerUIMessages.bind(GenericServerUIMessages.runtimeWizardTitle,rName);
-    }
-    
-    private String getRuntimeName()
-    {
-       if(getRuntimeDelegate()!=null && getRuntimeDelegate().getRuntime()!=null)
-            return getRuntimeDelegate().getRuntime().getName();
-        return null;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java
deleted file mode 100644
index e238062..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Helper class to get messages
- * 
- * @author Gorkem Ercan
- */
-public class GenericServerUIMessages extends NLS{
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.jst.server.generic.ui.internal.GenericServerUIMessages";//$NON-NLS-1$
-	public static String serverTypeGroup_label_browse;
-	public static String runtimeName;
-	public static String runtimeWizardDescription;
-	public static String runtimeWizardTitle;
-	public static String serverName;
-	public static String serverWizardDescription;
-	public static String serverWizardTitle;
-	public static String installed_jre_link;
-	public static String jre_select_label;
-	public static String defaultJRE;
-	public static String invalidPath;
-	public static String installServerButton;
-	public static String installationDirectory;
-	
-	static{
-		  NLS.initializeMessages(RESOURCE_BUNDLE, GenericServerUIMessages.class);
-	}
-
-	public static String emptyPath;
-
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties
deleted file mode 100644
index 6a7c681..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerUIMessages.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-serverWizardTitle=New {0} Server
-serverWizardDescription=Create a new {0} server 
-runtimeWizardTitle=New {0} Runtime
-runtimeWizardDescription=Define a new {0} runtime
-serverTypeGroup_label_browse=Browse...
-serverName = {0}
-runtimeName= {0}
-installed_jre_link = You can use <a>Installed JRE preferences</a> to create a new JRE
-installServerButton=Install Server
-installationDirectory=Select installation directory
-jre_select_label= &JRE:
-defaultJRE = Default JRE
-invalidPath = {0} is not valid
-emptyPath=Specify a valid path
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java
deleted file mode 100644
index 91003b2..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericServerWizardFragment.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * 
- *
- * @author Gorkem Ercan
- */
-public class GenericServerWizardFragment extends ServerDefinitionTypeAwareWizardFragment 
-{
-	private GenericServerCompositeDecorator[] fDecorators;
-
-	/**
-	 * 
-	 */
-	public boolean isComplete() {
-
-		ServerRuntime serverRuntime = getServerTypeDefinitionFor(getServer());
-		if(serverRuntime==null)
-		    return false;
-
-		IServerWorkingCopy server = getServer();
-		GenericServer dl= (GenericServer)server.loadAdapter(GenericServer.class,null);
-
-		IStatus status = dl.validate();
-		return (status != null && status.isOK());
-		
-	}
-
-	public void createContent(Composite parent, IWizardHandle handle){
-		IServerWorkingCopy server = getServer();
-		GenericServer dl= (GenericServer)server.loadAdapter(GenericServer.class,null);
-		ServerRuntime definition = getServerTypeDefinitionFor(server);
-		fDecorators = new GenericServerCompositeDecorator[1];
-		fDecorators[0]=new ServerTypeDefinitionServerDecorator(definition,null,getWizard(),dl);
-		new GenericServerComposite(parent,fDecorators);
-		
-	}
-	/**
-     * @param server
-     * @return
-     */
-    private ServerRuntime getServerTypeDefinitionFor(IServerWorkingCopy server) {        
-        GenericServerRuntime runtime = (GenericServerRuntime)server.getRuntime().getAdapter(GenericServerRuntime.class);
-        if(runtime==null){
-            IRuntime wc = (IRuntime)getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-            runtime= (GenericServerRuntime)wc.getAdapter(GenericServerRuntime.class);
-            if(runtime==null)
-            	runtime= (GenericServerRuntime)wc.loadAdapter(GenericServerRuntime.class,new NullProgressMonitor());
-        }        
-        String id = runtime.getRuntime().getRuntimeType().getId();
-        if(id==null){   
-            return null;
-        }
-        Map runtimeProperties = runtime.getServerInstanceProperties();
-		ServerRuntime definition = getServerTypeDefinition(id,runtimeProperties);
-        return definition;
-    }
-
-    /**
-     * @return
-     */
-    private IServerWorkingCopy getServer() {
-        IServerWorkingCopy server = (IServerWorkingCopy)getTaskModel().getObject(TaskModel.TASK_SERVER);
-        return server;
-    }
-
-    private boolean isNameInUse(String name){
-       	IServer[] servers =ServerCore.getServers();   	
-    	for (int i = 0; i < servers.length; i++) {
-			if(!servers[i].equals(getServer().getOriginal()) && (servers[i].getName().equals(name) ))
-				return true;
-		}
-    	return false;
-    }
-    
-    private String createName(){
-    	String name = GenericServerUIMessages.bind(GenericServerUIMessages.serverName,getServerTypeDefinitionFor(getServer()).getName());
-    	int suffix=1;
-    	String suffixName =name;
-    	while(isNameInUse(suffixName)){
-    		suffixName = name+" "+suffix;
-    		suffix++;
-    	}
-    	return suffixName;
-    }
-    public void enter() {
-    	getServer().setName(createName());
-	    for (int i = 0; i < fDecorators.length; i++) {
-			if(fDecorators[i].validate())
-				return;
-		}
-     }
-	public void exit() {
-	    //validate needed to save the latest values.
-		for (int i = 0; i < fDecorators.length; i++) {
-			if(fDecorators[i].validate())
-				return;
-		}
-	}	
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#description()
-     */
-    public String description() {
-        String sName = getServerName();
-        if(sName==null || sName.length()<1)
-            sName="Generic";
-        return  GenericServerUIMessages.bind(GenericServerUIMessages.serverWizardDescription,sName);
-    }
-
-    private String getServerName()
-    {
-        if(getServer()!=null && getServer().getRuntime()!=null)
-           return getServer().getRuntime().getRuntimeType().getName();
-        return null;
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.jst.server.generic.internal.ui.ServerDefinitionTypeAwareWizardFragment#title()
-     */
-    public String title() {
-        String sName= getServerName();
-        if(sName==null || sName.length()<1)
-            sName="Generic";
-        return  GenericServerUIMessages.bind(GenericServerUIMessages.serverWizardTitle,sName);
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java
deleted file mode 100644
index fff5a81..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/GenericUiPlugin.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- * 
- * @author Gorkem Ercan
- */
-public class GenericUiPlugin extends AbstractUIPlugin {
-	
-    public static final String WIZBAN_IMAGE = "genericlogo";
-    //The shared instance.
-	private static GenericUiPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public GenericUiPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.generic.ui.GenericUiPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static GenericUiPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = GenericUiPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-    protected ImageRegistry createImageRegistry() {
-        ImageRegistry registry = new ImageRegistry();
-        ImageDescriptor desc = ImageDescriptor.createFromURL(getDefault().getBundle().getEntry("/icons/wizban/new_server_wiz.gif"));
-        registry.put(WIZBAN_IMAGE,desc);
-        return registry;
-    }
-  	public ImageDescriptor imageDescriptor(String key){
-		return getImageRegistry().getDescriptor(key);
-	}
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/InstallableRuntimeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/InstallableRuntimeDecorator.java
deleted file mode 100644
index f5dbad3..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/InstallableRuntimeDecorator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.core.internal.Trace;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.wst.server.core.internal.IInstallableRuntime;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-public class InstallableRuntimeDecorator implements
-		GenericServerCompositeDecorator {
-
-	private GenericServerRuntime fRuntime;
-	private IWizardHandle fWizard;
-
-	public InstallableRuntimeDecorator(IWizardHandle wizard, GenericServerRuntime runtime) {
-		fRuntime = runtime;
-		fWizard = wizard;
-	}
-
-	public void decorate(final GenericServerComposite composite) {
-		final IInstallableRuntime ir = ServerPlugin
-				.findInstallableRuntime(fRuntime.getRuntime().getRuntimeType()
-						.getId());
-
-		Button install = SWTUtil.createButton(composite, GenericServerUIMessages.installServerButton);
-		install.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(composite
-						.getShell());
-				dialog.setMessage(GenericServerUIMessages.installationDirectory);
-				final String selectedDirectory = dialog.open();
-				if (selectedDirectory != null) {
-					
-					IRunnableWithProgress runnable = new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor)
-								throws InvocationTargetException,
-								InterruptedException {
-							try {
-								ir.install(new Path(selectedDirectory),
-										new NullProgressMonitor());
-							} catch (CoreException e) {
-								Trace.trace(Trace.SEVERE,
-										"Error installing runtime", e);
-							}
-						}
-					};
-					
-					try {
-						fWizard.run(true, false, runnable);
-					} catch (InterruptedException e) {
-						e.printStackTrace();
-					} catch (InvocationTargetException e) {
-						e.printStackTrace();
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE,
-								"Error installing runtime", e);
-					}
-
-				}
-			}
-		});
-	}
-
-	public boolean validate() {
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java
deleted file mode 100644
index e54bbf1..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/JRESelectDecorator.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-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.generic.core.internal.GenericServerRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.ui.PlatformUI;
-
-
-public class JRESelectDecorator implements GenericServerCompositeDecorator {
-	private List installedJREs;
-	private String[] jreNames;
-	private GenericServerRuntime fRuntime;
-	public JRESelectDecorator(GenericServerRuntime runtime){
-		super();
-		fRuntime = runtime;
-	}
-	
-	public void decorate(final GenericServerComposite composite) {
-		updateJREs();
-		Link link = new Link(composite,SWT.NONE);
-		link.setLayoutData(new GridData(SWT.FILL,SWT.NONE,true,false,3,1));
-		link.setText(GenericServerUIMessages.installed_jre_link);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(GenericServerUIMessages.jre_select_label);
-		
-		final Combo combo = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY);
-		combo.setItems(jreNames);
-		GridData data = new GridData(SWT.FILL,SWT.NONE,false,false,2,1);
-		
-		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);
-			
-				fRuntime.setVMInstall(vmInstall);
-				validate();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
-		
-		link.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				String currentVM = combo.getText();
-				if (showPreferencePage(composite)) {
-					updateJREs();
-					combo.setItems(jreNames);
-					combo.setText(currentVM);
-					if (combo.getSelectionIndex() == -1)
-						combo.select(0);
-				}
-			}
-		});
-
-		if (fRuntime!=null){
-			if(fRuntime.isUsingDefaultJRE()){
-				combo.select(0);
-			}else{
-				combo.setText(fRuntime.getVMInstall().getName());
-			}
-		}
-	}
-
-	
-	protected boolean showPreferencePage(GenericServerComposite composite) {
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode("org.eclipse.jdt.debug.ui.preferences.VMPreferencePage");
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		final PreferenceDialog dialog = new PreferenceDialog(composite.getShell(), manager2);
-		final boolean[] result = new boolean[] { false };
-		BusyIndicator.showWhile(composite.getDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				if (dialog.open() == Window.OK)
-					result[0] = true;
-			}
-		});
-		return result[0];
-	}
-	
-	protected void updateJREs() {
-		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]);
-			}
-		}
-		
-		size = installedJREs.size();
-		jreNames = new String[size+1];
-		jreNames[0] = GenericServerUIMessages.defaultJRE;
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
-			jreNames[i+1] = vmInstall.getName();
-		}
-	}
-	
-	
-	
-	public boolean validate() {
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java
deleted file mode 100644
index 4964138..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/SWTUtil.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.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.
- * Copied from org.eclipse.wst.server.ui.internal.
- */
-public class SWTUtil {
-	private static FontMetrics fontMetrics;
-
-	protected static void initializeDialogUnits(Control testControl) {
-		// Compute and store a font metric
-		GC gc = new GC(testControl);
-		gc.setFont(JFaceResources.getDialogFont());
-		fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	protected static int getButtonWidthHint(Button button) {
-		int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Create a new button with the standard size.
-	 * 
-	 * @param comp the component to add the button to
-	 * @param label the button label
-	 * @return a button
-	 */
-	public static Button createButton(Composite comp, String label) {
-		Button b = new Button(comp, SWT.PUSH);
-		b.setText(label);
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.widthHint = getButtonWidthHint(b);
-		b.setLayoutData(data);
-		return b;
-	}
-	
-	/**
-	 * Convert DLUs to pixels.
-	 * 
-	 * @param comp a component
-	 * @param x pixels
-	 * @return dlus
-	 */
-	public static int convertHorizontalDLUsToPixels(Composite comp, int x) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertHorizontalDLUsToPixels(fontMetrics, x);
-	}
-
-	/**
-	 * Convert DLUs to pixels.
-	 * 
-	 * @param comp a component
-	 * @param y pixels
-	 * @return dlus
-	 */
-	public static int convertVerticalDLUsToPixels(Composite comp, int y) {
-		if (fontMetrics == null)
-			initializeDialogUnits(comp);
-		return Dialog.convertVerticalDLUsToPixels(fontMetrics, y);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java
deleted file mode 100644
index 1a910d1..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerDefinitionTypeAwareWizardFragment.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-import org.eclipse.wst.server.ui.wizard.WizardFragment;
-
-/**
- * A wizard fragment that provides support for serverdef files.
- *
- * @author Gorkem Ercan
- */
-public abstract class ServerDefinitionTypeAwareWizardFragment extends WizardFragment {
-
-    private IWizardHandle fWizard;
-	
-    public boolean hasComposite() {
-		return true;
-	}
-
-	public Composite createComposite(Composite parent, IWizardHandle handle) {
-	    
-	    this.fWizard = handle;
-	    Composite container = new Composite(parent, SWT.NONE);
-		GridLayout grid = new GridLayout(1,false);
-		grid.marginWidth=0;
-		container.setLayout(grid);
-	    container.setLayoutData(new GridData(GridData.FILL_BOTH));
-		handle.setImageDescriptor(GenericUiPlugin.getDefault().imageDescriptor(GenericUiPlugin.WIZBAN_IMAGE));
-		handle.setTitle(title());
-		handle.setDescription(description());
-		createContent(container,handle);
-		return container;
-	}
-	public IWizardHandle getWizard(){
-	    return fWizard;
-	}
-	/**
-	 * Returns the description to be displayed on the wizard head.
-	 * @return
-	 */
-	public abstract String description();
-	/**
-	 * Returns the title of the wizard.
-	 * @return
-	 */
-	public abstract String title();
-	/**
-	 * Create the real content
-	 * @param parent
-	 * @param handle
-	 */
-	public abstract void createContent(Composite parent, IWizardHandle handle);
-
-	/**
-	 * Retuns the ServerRuntime.
-	 * @param definitionID
-	 * @param properties
-	 * @return
-	 */	
-	protected ServerRuntime getServerTypeDefinition(String definitionID, Map properties)
-	{
-	    return CorePlugin.getDefault().getServerTypeDefinitionManager().getServerRuntimeDefinition(definitionID,properties);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java
deleted file mode 100644
index 9ea43f8..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionDecorator.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jst.server.generic.servertype.definition.Property;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.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.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.jst.server.generic.ui.internal.SWTUtil;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Provides the UI objects for gathering user information
- * for server properties.
- * 
- * @author Gorkem Ercan
- */
-public abstract class ServerTypeDefinitionDecorator implements GenericServerCompositeDecorator {
-
-	protected static final String CONTEXT_RUNTIME = Property.CONTEXT_RUNTIME;
-	protected static final String CONTEXT_SERVER = Property.CONTEXT_SERVER;
-	private ServerRuntime fDefinition;
-    private Map fProperties;
-	private String fContext;
-	private String fLastMessage = null;
-	protected IWizardHandle fWizard;
-	private List fPropertyControls= new ArrayList();
-
-	private final class PathModifyListener implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			String path = ((Text) e.widget).getText();
-			
-			if(path.length()<1)
-			{
-				fLastMessage = GenericServerUIMessages.emptyPath;
-				fWizard.setMessage(fLastMessage,IMessageProvider.ERROR);
-			}
-			else if(!pathExist(path)){
-				fLastMessage = NLS.bind(GenericServerUIMessages.invalidPath,path);
-				fWizard.setMessage(fLastMessage,IMessageProvider.ERROR);
-			}else{
-				if(fLastMessage!=null && fLastMessage.equals(fWizard.getMessage())){
-					fLastMessage=null;
-					fWizard.setMessage(null,IMessageProvider.NONE);
-				}
-				validate();
-			}
-		}
-		private boolean pathExist(String path){
-			File f = new File(path);
-			return f.exists();
-		}
-	}
-
-	/**
-	 * Constructor
-	 * 
-	 * @param definition
-	 * @param initialProperties
-	 * @param context
-	 * @param handle
-	 */
-	public ServerTypeDefinitionDecorator(ServerRuntime definition, Map initialProperties, String context, IWizardHandle handle) {
-		super();
-		fDefinition = definition;
-		fProperties = initialProperties;
-		fContext = context;
-		fWizard = handle;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jst.server.generic.ui.internal.GenericServerCompositeDecorator#decorate(org.eclipse.jst.server.generic.ui.internal.GenericServerComposite)
-	 */
-	public void decorate(GenericServerComposite composite) {
-
-		List properties =null; 
-		if(fDefinition==null){
-			properties= new ArrayList(0);
-		}
-		else{
-			properties= fDefinition.getProperty();
-		}
-		for (int i = 0; i < properties.size(); i++) {
-			Property property = (Property) properties.get(i);
-			if (this.fContext.equals(property.getContext()))
-				createPropertyControl(composite, property);
-		}
-		Dialog.applyDialogFont(composite);
-	}
-
-	
-    private void createPropertyControl(Composite parent, Property property){
-    	if( Property.TYPE_DIRECTORY.equals(property.getType())) {
-    		Text path = createLabeledPath(property.getLabel(),getPropertyValue(property),parent);
-    		path.setData(property);
-    		registerControl(path);
-     	} else if( Property.TYPE_FILE.equals(property.getType())) {
-    	    Text file = createLabeledFile(property.getLabel(),getPropertyValue(property),parent);
-    		file.setData(property);
-    		registerControl(file);
-       	} else if( Property.TYPE_TEXT.equals(property.getType())) {
-    	    Text str = createLabeledText(property.getLabel(),getPropertyValue(property),parent);
-    		str.setData(property);
-    		registerControl(str);
-       	} else if( Property.TYPE_BOOLEAN.equals(property.getType())) {
-    	    Button bool =createLabeledCheck(property.getLabel(),("true".equals( getPropertyValue(property))),	parent); //$NON-NLS-1$
-    		bool.setData(property);
-    		registerControl(bool);
-       	}else if(Property.TYPE_SELECT.equals(property.getType())) {
-       		Combo combo = createLabeledCombo(parent, property);
-       		combo.setData(property);
-       		registerControl(combo);
-       	}
-       	else  {
-    	    Text defaultText= createLabeledText(property.getLabel(),getPropertyValue(property),parent);
-    		defaultText.setData(property);
-    		registerControl(defaultText);
-    	}
-    }
-
-	private Combo createLabeledCombo(Composite defPanel, Property property) {
-		
-	   	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(property.getLabel());
-
-		Combo combo = new Combo(defPanel,SWT.READ_ONLY);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 2;
-    	combo.setLayoutData(gridData);
-    	
-		StringTokenizer tokenizer = new StringTokenizer(property.getDefault(),","); //$NON-NLS-1$
-		while(tokenizer.hasMoreTokens()){
-			combo.add(tokenizer.nextToken());
-		}
-		if(combo.getItemCount()>0)
-			combo.select(0);
-		return combo;
-	}
-    private void registerControl(Control control)
-    {
-    	fPropertyControls.add(control);
-    }
-    private Button createLabeledCheck(String title, boolean value, Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-
-    	Button fButton = new Button(defPanel, SWT.CHECK);
-    	
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 2;
-    	fButton.setLayoutData(gridData);
-    	fButton.setSelection(value);
-    	fButton.addSelectionListener(new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-             //nothing to do 
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-            // nothing to do
-            }
-        });
-    	
-    	return fButton;
-    }
-    private Text createLabeledFile(String title, String value,final Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	final Text text = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 1;
-    	text.setLayoutData(gridData);
-    	text.setText(value);
-    	text.addModifyListener(new PathModifyListener());
-    	Button fButton = SWTUtil.createButton(defPanel,GenericServerUIMessages.serverTypeGroup_label_browse);
-    	
-    	fButton.addSelectionListener(new SelectionListener() {
-    		public void widgetSelected(SelectionEvent e) {
-    			FileDialog dlg = new FileDialog(defPanel.getShell());
-    			dlg.setFileName(text.getText().replace('\\','/'));
-    			String res = dlg.open();
-    			if (res != null) {
-    				text.setText(res.replace('\\','/'));
-
-    			}
-    		}
-    
-    		public void widgetDefaultSelected(SelectionEvent e) {
-    			widgetSelected(e);
-    		}
-    
-    	});
-    
-    	return text;
-    }
-	
-    private Text createLabeledPath(String title, String value,
-    		final Composite parent) {
-    	GridData gridData;
-    	Label label = new Label(parent, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	final Text text = new Text(parent, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL);
-    	gridData.horizontalSpan = 1;
-    	text.setLayoutData(gridData);
-    	text.setText(value);
-    	text.addModifyListener(new PathModifyListener());
-    	Button fButton = SWTUtil.createButton(parent,GenericServerUIMessages.serverTypeGroup_label_browse);
-    	fButton.addSelectionListener(new SelectionListener() {
-    		public void widgetSelected(SelectionEvent e) {
-    			DirectoryDialog dlg = new DirectoryDialog(parent.getShell());
-    			dlg.setFilterPath(text.getText().replace('\\','/'));
-    			String res = dlg.open();
-    			if (res != null) {
-    				text.setText(res.replace('\\','/'));
-
-    			}
-    		}
-    
-    		public void widgetDefaultSelected(SelectionEvent e) {
-    			widgetSelected(e);
-    		}
-    
-    	});
-    	return text;
-    }
-    private Text createLabeledText(String title, String value,
-    		Composite defPanel) {
-    	GridData gridData;
-    	Label label = new Label(defPanel, SWT.WRAP);
-    	gridData = new GridData();
-    	label.setLayoutData(gridData);
-    	label.setText(title);
-    
-    	Text text = new Text(defPanel, SWT.SHADOW_IN | SWT.BORDER);
-    	gridData = new GridData(GridData.FILL_HORIZONTAL
-    			| GridData.GRAB_HORIZONTAL);
-    	gridData.horizontalSpan = 2;
-    	text.setLayoutData(gridData);
-    	text.setText(value);
-
-    	return text;
-    }
-	private String getPropertyValue(Property property){	
-		if(fProperties!=null && fProperties.isEmpty()==false){
-		//user properties exist use those
-			return(String)fProperties.get(property.getId()); 
-		}	
-		if(Property.CONTEXT_SERVER.equals(property.getContext()))
-			return fDefinition.getResolver().resolveProperties(property.getDefault());
-		return property.getDefault();
-	}	
-
-   /**
-    * Returns the property name/value pairs.
-    * @return Map containing the values collected from the user
-    */
-	public Map getValues(){
-		Map propertyMap = new HashMap();
-    	for(int i=0; i<fPropertyControls.size();i++){
-    		Property prop = (Property)((Control)fPropertyControls.get(i)).getData();
-    		if(fPropertyControls.get(i)instanceof Button){
-    			Button button = (Button)fPropertyControls.get(i);
-    			propertyMap.put(prop.getId(),Boolean.toString(button.getSelection()));
-    		}
-    		else if(fPropertyControls.get(i) instanceof Combo){
-    			Combo combo = (Combo)fPropertyControls.get(i);
-     			int index = combo.getSelectionIndex();
-    			propertyMap.put(prop.getId(),combo.getItem(index));
-    		}else{
-    			Text text = (Text)fPropertyControls.get(i);
-    			propertyMap.put(prop.getId(),text.getText());
-    		}
-    	}
-    	return propertyMap;
-    }
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java
deleted file mode 100644
index 50cedca..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionRuntimeDecorator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jst.server.generic.core.internal.GenericServerRuntime;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-
-public class ServerTypeDefinitionRuntimeDecorator extends ServerTypeDefinitionDecorator {
-
-	private GenericServerRuntime fRuntime;
-	public ServerTypeDefinitionRuntimeDecorator(ServerRuntime definition, Map initialProperties, IWizardHandle wizard, GenericServerRuntime runtime) {
-		super(definition, initialProperties,CONTEXT_RUNTIME,wizard);
-		fRuntime=runtime;
-	}
-
-	public boolean validate(){
-
-		if(fRuntime==null)
-			return false;
-		fRuntime.setServerDefinitionId(fRuntime.getRuntime().getRuntimeType().getId());
-        fRuntime.setServerInstanceProperties(getValues());
-       
-		IStatus status = fRuntime.validate();
-		
-		if (status == null || status.isOK()){
-
-			fWizard.setMessage(null, IMessageProvider.NONE);
-			fWizard.update();
-	        String wDir = fRuntime.getServerTypeDefinition().getResolver().resolveProperties(fRuntime.getServerTypeDefinition().getStart().getWorkingDirectory()); 
-	        fRuntime.getRuntimeWorkingCopy().setLocation(new Path(wDir));
-
-			return false;
-		}else
-		{
-			fWizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-			fWizard.update();
-			return true;
-		} 
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java b/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java
deleted file mode 100644
index 727c258..0000000
--- a/plugins/org.eclipse.jst.server.generic.ui/src/org/eclipse/jst/server/generic/ui/internal/ServerTypeDefinitionServerDecorator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.ui.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jst.server.generic.core.internal.GenericServer;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
-import org.eclipse.wst.server.ui.wizard.IWizardHandle;
-/**
- * Server properties decorator.
- * @author Gorkem Ercan
- */
-public class ServerTypeDefinitionServerDecorator extends
-		ServerTypeDefinitionDecorator {
-	
-	private GenericServer fServer;
-	public ServerTypeDefinitionServerDecorator(ServerRuntime definition, Map initialProperties,IWizardHandle wizard,GenericServer server) {
-		super(definition, initialProperties,CONTEXT_SERVER, wizard);
-		fServer=server;
-	}
-
-	public boolean validate() {
-		if(fServer!=null)
-			fServer.setServerInstanceProperties(getValues());
-		IStatus status = fServer.validate();
-		if(status==null || status.isOK())
-		{
-			fWizard.setMessage(null, IMessageProvider.NONE);
-			fWizard.update();
-		}
-		else
-		{
-			fWizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-			fWizard.update();
-			return true;
-		}
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.server.installable/.cvsignore b/plugins/org.eclipse.jst.server.installable/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/plugins/org.eclipse.jst.server.installable/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/plugins/org.eclipse.jst.server.installable/.project b/plugins/org.eclipse.jst.server.installable/.project
deleted file mode 100644
index 4d936fd..0000000
--- a/plugins/org.eclipse.jst.server.installable/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.installable</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.installable/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.installable/META-INF/MANIFEST.MF
deleted file mode 100644
index ab01e2d..0000000
--- a/plugins/org.eclipse.jst.server.installable/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.jst.server.installable;singleton:=true
-Bundle-Name: %pluginName
-Bundle-Version: 1.5.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle:  org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)"
diff --git a/plugins/org.eclipse.jst.server.installable/about.html b/plugins/org.eclipse.jst.server.installable/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.installable/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.installable/build.properties b/plugins/org.eclipse.jst.server.installable/build.properties
deleted file mode 100644
index 2ce0007..0000000
--- a/plugins/org.eclipse.jst.server.installable/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties
-src.includes = build.properties
diff --git a/plugins/org.eclipse.jst.server.installable/plugin.properties b/plugins/org.eclipse.jst.server.installable/plugin.properties
deleted file mode 100644
index c84fcd9..0000000
--- a/plugins/org.eclipse.jst.server.installable/plugin.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName=Installable servers
-providerName=Eclipse.org
-pluginDescription=Provides installable servers
-
-# Geronimo download
-runtimeTypeGeronimo10Label=Geronimo v1.0
-runtimeTypeGeronimo10Description=Apache Geronimo v1.0 supports J2EE 1.2, 1.3 and 1.4.
-vendorApache=Apache
-
-# WebSphere CE download
-runtimeTypeWASCE10Label=WebSphere Application Server Community Edition v1.0
-runtimeTypeWASCE10Description=IBM WebSphere Application Server Community Edition v1.0 supports J2EE 1.4.
-vendorIBM=IBM
-
-# Pramati download
-runtimeTypePramatiLabel=Pramati 4.1.x
-runtimeTypePramatiDescription=Pramati 4.1.x Server
-vendorPramati=Pramati
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.installable/plugin.xml b/plugins/org.eclipse.jst.server.installable/plugin.xml
deleted file mode 100644
index 228bb9b..0000000
--- a/plugins/org.eclipse.jst.server.installable/plugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-  <extension point="org.eclipse.wst.server.core.installableServers">
-    <installableServer
-      id="org.apache.geronimo.generic.runtime.10"
-      name="%runtimeTypeGeronimo10Label"
-      description="%runtimeTypeGeronimo10Description"
-      vendor="%vendorApache"
-      version="1.0"
-      featureId="org.apache.geronimo.feature"
-      featureVersion="1.0.0"
-      featureSite="http://www.apache.org/dist/geronimo/eclipse/updates/">
-    </installableServer>
-    <installableServer
-      id="org.apache.geronimo.generic.runtime.10"
-      name="%runtimeTypeWASCE10Label"
-      description="%runtimeTypeWASCE10Description"
-      vendor="%vendorIBM"
-      version="1.0"
-      featureId="com.ibm.websphere.ce.feature"
-      featureVersion="1.0.0"
-      featureSite="http://download.boulder.ibm.com/ibmdl/pub/software/websphere/wasce/updates/">
-    </installableServer>
-    <installableServer
-      id="xxx"
-      name="%runtimeTypePramatiLabel"
-      description="%runtimeTypePramatiDescription"
-      vendor="%vendorPramati"
-      version="4.1"
-      featureId="com.pramati.eclipse.feature"
-      featureVersion="1.0.0"
-      featureSite="http://www.pramati.com/downloads/eclipse/updates/">
-    </installableServer>
-  </extension>
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.pde/.classpath b/plugins/org.eclipse.jst.server.pde/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.jst.server.pde/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.pde/.cvsignore b/plugins/org.eclipse.jst.server.pde/.cvsignore
deleted file mode 100644
index ddb0a2d..0000000
--- a/plugins/org.eclipse.jst.server.pde/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-.settings
diff --git a/plugins/org.eclipse.jst.server.pde/.project b/plugins/org.eclipse.jst.server.pde/.project
deleted file mode 100644
index 7a788cc..0000000
--- a/plugins/org.eclipse.jst.server.pde/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.pde</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF
deleted file mode 100644
index 26945f9..0000000
--- a/plugins/org.eclipse.jst.server.pde/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Generic server PDE Template
-Bundle-SymbolicName: org.eclipse.jst.server.generic.pde; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.jst.server.generic.pde.ServerPdePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.pde.ui,
- org.eclipse.pde.core
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.jst.server.pde/about.html b/plugins/org.eclipse.jst.server.pde/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.pde/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.pde/build.properties b/plugins/org.eclipse.jst.server.pde/build.properties
deleted file mode 100644
index 1393183..0000000
--- a/plugins/org.eclipse.jst.server.pde/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               templates_3.0/,\
-               icons/,\
-               plugin.properties,\
-               about.html
-src.includes = src/
diff --git a/plugins/org.eclipse.jst.server.pde/build.xml b/plugins/org.eclipse.jst.server.pde/build.xml
deleted file mode 100644
index c17f101..0000000
--- a/plugins/org.eclipse.jst.server.pde/build.xml
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.jst.server.generic.pde" default="build.jars" basedir=".">
-
-	<property name="basews" value="${ws}"/>
-	<property name="baseos" value="${os}"/>
-	<property name="basearch" value="${arch}"/>
-	<property name="basenl" value="${nl}"/>
-
-	<!-- Compiler settings. -->
-	<property name="javacFailOnError" value="false"/>
-	<property name="javacDebugInfo" value="on"/>
-	<property name="javacVerbose" value="true"/>
-	<property name="javacSource" value="1.3"/>
-	<property name="javacTarget" value="1.2"/>
-	<property name="compilerArg" value=""/>
-	<path id="path_bootclasspath">
-		<fileset dir="${java.home}/lib">
-			<include name="*.jar"/>
-		</fileset>
-	</path>
-	<property name="bootclasspath" refid="path_bootclasspath"/>
-
-	<target name="init" depends="properties">
-		<condition property="pluginTemp" value="${buildTempFolder}/plugins">
-			<isset property="buildTempFolder"/>
-		</condition>
-		<property name="pluginTemp" value="${basedir}"/>
-		<condition property="build.result.folder" value="${pluginTemp}/org.eclipse.jst.server.generic.pde">
-			<isset property="buildTempFolder"/>
-		</condition>
-		<property name="build.result.folder" value="${basedir}"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-
-	</target>
-
-	<target name="build.update.jar" depends="init" description="Build the plug-in: org.eclipse.jst.server.generic.pde for an update site.">
-		<delete dir="${temp.folder}"/>
-		<mkdir dir="${temp.folder}"/>
-		<antcall target="build.jars"/>
-		<antcall target="gather.bin.parts">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<zip destfile="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.jar" basedir="${temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" filesonly="false" whenempty="skip" update="false"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="@dot" depends="init" unless="@dot" description="Create jar: org.eclipse.jst.server.generic.pde @dot.">
-		<delete dir="${temp.folder}/@dot.bin"/>
-		<mkdir dir="${temp.folder}/@dot.bin"/>
-		<!-- compile the source code -->
-		<javac destdir="${temp.folder}/@dot.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}"		>
-			<compilerarg line="${compilerArg}"/>
-			<classpath>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.runtime_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.osgi_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.swt_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.swt.win32.win32.x86_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jface_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.commands_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.workbench_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/compatibility.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/@dot"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.expressions_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources.compatibility_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.resources.win32_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.runtime.compatibility_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.configurator_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ant.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.variables_3.1.0.jar"/>
-				<pathelement path="../org.eclipse.pde.ui/eclipse3/target-0.7/eclipse/plugins/org.eclipse.pde.ui_3.1.0.jar"/>
-				<pathelement path="../org.eclipse.pde.ui/org.eclipse.pde.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.ide_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.win32_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.views_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.core.win32_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.update.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.forms_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jface.text_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.text_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.workbench.texteditor_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.editors_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.core.filebuffers_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.debug.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.debug.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.console_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.team.core_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.debug.ui_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/jdi.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/jdimodel.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.debug_3.1.0/tools.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.launching_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.jdt.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.search_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.compare_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ltk.core.refactoring_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ltk.ui.refactoring_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.pde_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.pde.core_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.pde.build_3.1.0/pdebuild.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-antlr.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-bcel.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-bsf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-log4j.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-oro.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-regexp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-apache-resolver.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-commons-logging.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-commons-net.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-icontract.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jai.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-javamail.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jdepend.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jmf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-jsch.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-junit.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-launcher.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-netrexx.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-nodeps.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-starteam.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-stylebook.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-swing.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-trax.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-vaj.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-weblogic.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-xalan1.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.ant_1.6.5/lib/ant-xslp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-antlr.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-bcel.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-bsf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-log4j.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-oro.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-regexp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-apache-resolver.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-commons-logging.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-commons-net.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-icontract.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jai.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-javamail.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jdepend.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jmf.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-jsch.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-junit.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-launcher.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-netrexx.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-nodeps.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-starteam.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-stylebook.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-swing.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-trax.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-vaj.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-weblogic.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-xalan1.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/lib/ant-xslp.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.ant.optional.junit_2.1.0/@dot"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.junit_3.8.1/junit.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ant.ui_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.externaltools_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.junit_3.1.0/junitsupport.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.eclipse.jdt.junit.runtime_3.1.0/junitruntime.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.intro_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.ui.cheatsheets_3.1.0.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help.base_3.1.0.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.lucene_1.4.3/lucene-1.4.3.jar"/>
-				<pathelement path="../../../../eclipse3/target-0.7/eclipse/plugins/org.apache.lucene_1.4.3/parser.jar"/>
-				<pathelement path="..\..\..\..\eclipse3\target-0.7\eclipse\plugins\org.eclipse.help.appserver_3.1.0.jar"/>
-			</classpath>
-			<src path="src/"			/>
-			</javac>
-		<!-- Copy necessary resources -->
-		<copy todir="${temp.folder}/@dot.bin" failonerror="true" overwrite="false">
-			<fileset dir="src/" excludes="**/*.java, **/package.htm*,null"			/>
-		</copy>
-		<mkdir dir="${build.result.folder}"/>
-		<copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
-			<fileset dir="${temp.folder}/@dot.bin"			/>
-		</copy>
-		<delete dir="${temp.folder}/@dot.bin"/>
-	</target>
-
-	<target name="src.zip" depends="init" unless="src.zip">
-		<mkdir dir="${build.result.folder}"/>
-		<zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
-			<fileset dir="src/" includes="**/*.java"			/>
-		</zip>
-	</target>
-
-	<target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.eclipse.jst.server.generic.pde.">
-		<available property="@dot" file="${build.result.folder}/@dot"/>
-		<antcall target="@dot"/>
-	</target>
-
-	<target name="build.sources" depends="init">
-		<available property="src.zip" file="${build.result.folder}/src.zip"/>
-		<antcall target="src.zip"/>
-	</target>
-
-	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/>
-		<copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="true" overwrite="false">
-			<fileset dir="${build.result.folder}/@dot" includes="**"			/>
-		</copy>
-		<copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="true" overwrite="false">
-			<fileset dir="${basedir}" includes="META-INF/,null,plugin.xml,templates_3.0/,icons/,plugin.properties,build.properties"			/>
-		</copy>
-	</target>
-
-	<target name="build.zips" depends="init">
-	</target>
-
-	<target name="gather.sources" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/>
-		<copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false"/>
-		<copy todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false">
-			<fileset dir="${basedir}" includes="src/"			/>
-		</copy>
-	</target>
-
-	<target name="gather.logs" depends="init" if="destination.temp.folder">
-		<mkdir dir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0"/>
-		<copy file="${temp.folder}/@dot.bin.log" todir="${destination.temp.folder}/org.eclipse.jst.server.generic.pde_1.0.0" failonerror="false" overwrite="false"/>
-	</target>
-
-	<target name="clean" depends="init" description="Clean the plug-in: org.eclipse.jst.server.generic.pde of all the zips, jars and logs created.">
-		<delete dir="${build.result.folder}/@dot"/>
-		<delete file="${build.result.folder}/src.zip"/>
-		<delete file="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.jar"/>
-		<delete file="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.zip"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder.">
-		<eclipse.convertPath fileSystemPath="D:/_bge/workspaces/workspace/org.eclipse.jst.server.generic.pde" property="resourcePath"/>
-		<eclipse.refreshLocal resource="${resourcePath}" depth="infinite"/>
-	</target>
-
-	<target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: org.eclipse.jst.server.generic.pde.">
-		<delete dir="${temp.folder}"/>
-		<mkdir dir="${temp.folder}"/>
-		<antcall target="build.jars"/>
-		<antcall target="build.sources"/>
-		<antcall target="gather.bin.parts">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<antcall target="gather.sources">
-			<param name="destination.temp.folder" value="${temp.folder}/"/>
-		</antcall>
-		<delete>
-			<fileset dir="${temp.folder}" includes="**/*.bin.log"			/>
-		</delete>
-		<zip destfile="${plugin.destination}/org.eclipse.jst.server.generic.pde_1.0.0.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-</project>
diff --git a/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif b/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif
deleted file mode 100644
index 1cfd11a..0000000
--- a/plugins/org.eclipse.jst.server.pde/icons/obj16/wiz_new_server_plugin.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.pde/plugin.properties b/plugins/org.eclipse.jst.server.pde/plugin.properties
deleted file mode 100644
index 4959a56..0000000
--- a/plugins/org.eclipse.jst.server.pde/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-pluginName= Generic server PDE Template
-providerName=Eclipse.org
-template.genericServer.name=Generic Server Plugin Wizard
-template.genericServer.description=\
-<p>This wizard creates a simple generic server plug-in. \
-The .serverdef file and the build.xml file for ANT based publishing are created. \
-Created files are the same files used for JBoss 3.2.3 in Generic Examples. \
-</p>\
-<p><b>Extension Used</b></p>\
-<li>org.eclipse.jst.server.generic.core.serverdefinition</li> \
-<li>org.eclipse.wst.server.core.runtimeTargetHandlers</li> \
-<li>org.eclipse.wst.server.ui.serverImages</li> \
-<li>org.eclipse.wst.server.ui.wizardFragments</li> \
-<li>org.eclipse.wst.server.core.serverTypes</li> \
-<li>org.eclipse.wst.server.core.runtimeTypes</li>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.pde/plugin.xml b/plugins/org.eclipse.jst.server.pde/plugin.xml
deleted file mode 100644
index bd18a48..0000000
--- a/plugins/org.eclipse.jst.server.pde/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   <extension
-         point="org.eclipse.pde.ui.pluginContent">
-      <wizard
-            category="WTP"
-            class="org.eclipse.jst.server.generic.pde.internal.GenericServerPluginNewWizard"
-            icon="icons/obj16/wiz_new_server_plugin.gif"
-            id="org.eclipse.jst.server.generic.pde.genericServer"
-            java="true"
-            name="%template.genericServer.name"
-            rcp="false"
-            ui-content="true">
-         <description>
-            %template.genericServer.description
-         </description>
-            
-            </wizard>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java
deleted file mode 100644
index c1d8770..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/ServerPdePlugin.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde;
-
-import org.eclipse.ui.plugin.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ServerPdePlugin extends AbstractUIPlugin {
-
-	//The shared instance.
-	private static ServerPdePlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public ServerPdePlugin() {
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ServerPdePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns an image descriptor for the image file at the given
-	 * plug-in relative path.
-	 *
-	 * @param path the path
-	 * @return the image descriptor
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.jst.server.generic.pde", path);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java
deleted file mode 100644
index 0cda4ac..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerPluginNewWizard.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde.internal;
-
-
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-/**
- * New Generic server plug-in wizard. 
- * @author Gorkem Ercan
- *
- */
-public class GenericServerPluginNewWizard extends NewPluginTemplateWizard {
-
-	public ITemplateSection[] createTemplateSections(){
-		return new ITemplateSection[] {new GenericServerTemplate()};
-	}
-	
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(Messages.windowTitleWizard);
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java
deleted file mode 100644
index 922ac38..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/GenericServerTemplate.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde.internal;
-
-import java.net.URL;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.server.generic.pde.ServerPdePlugin;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.wizards.templates.PluginReference;
-import org.eclipse.pde.ui.templates.OptionTemplateSection;
-import org.eclipse.pde.ui.templates.TemplateOption;
-/**
- * Simple generic server plug-in template
- * 
- * @author Gorkem Ercan
- *
- */
-public class GenericServerTemplate extends OptionTemplateSection {
-
-	private static final String KEY_SERVER_VERSION = "server_version"; //$NON-NLS-1$
-	private static final String KEY_SERVER_START_BEFORE_PUBLISH = "server_start_before_publish"; //$NON-NLS-1$
-	private static final String KEY_SERVER_LAUNCHTYPE = "server_launchtype"; //$NON-NLS-1$
-	private static final String KEY_SERVER_VENDOR = "server_vendor"; //$NON-NLS-1$
-	private static final String KEY_SERVER_DESCRIPTION = "server_description"; //$NON-NLS-1$
-	private static final String KEY_SERVER_NAME = "server_name"; //$NON-NLS-1$
-	private static final String[][] launchOpts = {{"java",Messages.labelJavaLaunchConfiguration},{"external",Messages.labelExternalLaunchConfiguration}}; //$NON-NLS-1$ //$NON-NLS-3$
-	
-	private TemplateOption fServerNameOption;
-	private TemplateOption fServerDescriptionOption;
-	private TemplateOption fServerVendorOption;
-	private TemplateOption fServerVersionOption;
-	private TemplateOption fLaunchTypeOption;
-	private TemplateOption fStartBeforPublishOption;
-	
-	public GenericServerTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-	
-	
-	private void createOptions(){
-	
-		fServerNameOption= addOption(KEY_SERVER_NAME,Messages.labelServerName,"your server's name",0); //$NON-NLS-2$
-		fServerDescriptionOption = addOption(KEY_SERVER_DESCRIPTION,"Description","User description of your server",0); //$NON-NLS-1$ //$NON-NLS-2$
-		fServerVendorOption= addOption(KEY_SERVER_VENDOR,Messages.labelServerVendor,"Server vendor' s name",0); //$NON-NLS-2$
-		fServerVersionOption= addOption(KEY_SERVER_VERSION,Messages.labelServerVesion,"0",0); //$NON-NLS-2$
-		fLaunchTypeOption= addOption(KEY_SERVER_LAUNCHTYPE,Messages.labelLaunchType,launchOpts,"java",0); //$NON-NLS-2$
-		fStartBeforPublishOption= addOption(KEY_SERVER_START_BEFORE_PUBLISH,Messages.labelStartBeforePublish,false,0);
-		
-		fServerNameOption.setRequired(true);
-		fServerDescriptionOption.setRequired(true);
-		fServerVendorOption.setRequired(true);
-		fServerVersionOption.setRequired(true);
-	}
-	
-	public String getSectionId() {
-		return "genericserver"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException{
-		IPluginBase plugin = model.getPluginBase();
-		IPluginModelFactory factory = model.getPluginFactory();		
-		addRuntimeType(plugin, factory);
-		addServerType(plugin, factory);
-		addWizardFragment(plugin, factory);
-		addServerImage(plugin, factory);
-		addRuntimeTargetHandler(plugin, factory);
-		addServerDefinition(plugin, factory);
-	}
-
-	private void addServerDefinition(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension definitionExtension = createExtension("org.eclipse.jst.server.generic.core.serverdefinition",true); //$NON-NLS-1$
-		IPluginElement serverDef = factory.createElement(definitionExtension);
-		serverDef.setName("serverdefinition"); //$NON-NLS-1$
-		serverDef.setAttribute("id",getRuntimeId()); //$NON-NLS-1$
-		serverDef.setAttribute("definitionfile","/servers/"+getStringOption(KEY_SERVER_NAME)+".serverdef"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		definitionExtension.add(serverDef);
-		if(!definitionExtension.isInTheModel())
-			plugin.add(definitionExtension);
-	}
-
-
-	private void addRuntimeTargetHandler(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension handlerExtension = createExtension("org.eclipse.wst.server.core.runtimeTargetHandlers",true); //$NON-NLS-1$
-		IPluginElement handler= factory.createElement(handlerExtension);
-		handler.setName("runtimeTargetHandler"); //$NON-NLS-1$
-		handler.setAttribute("id",getNamespace()+".runtimeTarget"); //$NON-NLS-1$ //$NON-NLS-2$
-		handler.setAttribute("runtimeTypeIds",getRuntimeId()); //$NON-NLS-1$
-		handler.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServerRuntimeTargetHandler"); //$NON-NLS-1$ //$NON-NLS-2$
-		handlerExtension.add(handler);
-		if(!handlerExtension.isInTheModel())
-			plugin.add(handlerExtension);
-	}
-
-
-	private void addServerImage(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension imageExtension = createExtension("org.eclipse.wst.server.ui.serverImages",true); //$NON-NLS-1$
-		IPluginElement serverImage = factory.createElement(imageExtension);
-		serverImage.setName("image"); //$NON-NLS-1$
-		serverImage.setAttribute("id",getNamespace()+".serverImage"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverImage.setAttribute("icon","icons/server.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverImage.setAttribute("typeIds",getServerId()); //$NON-NLS-1$
-		imageExtension.add(serverImage);
-		
-		IPluginElement runtimeImage = factory.createElement(imageExtension);
-		runtimeImage.setName("image"); //$NON-NLS-1$
-		runtimeImage.setAttribute("id",getNamespace()+".runtimeImage"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeImage.setAttribute("icon","icons/server.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeImage.setAttribute("typeIds",getRuntimeId()); //$NON-NLS-1$
-		imageExtension.add(runtimeImage);
-		if(!imageExtension.isInTheModel())
-			plugin.add(imageExtension);
-	}
-
-
-	private void addWizardFragment(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension wizardExtension = createExtension("org.eclipse.wst.server.ui.wizardFragments",true); //$NON-NLS-1$
-		IPluginElement runtimeWiz = factory.createElement(wizardExtension);
-		runtimeWiz.setName("fragment"); //$NON-NLS-1$
-		runtimeWiz.setAttribute("id",getNamespace()+".runtimeWizard"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeWiz.setAttribute("class","org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"); //$NON-NLS-1$ //$NON-NLS-2$
-		runtimeWiz.setAttribute("typeIds",getRuntimeId()); //$NON-NLS-1$
-		wizardExtension.add(runtimeWiz);
-		if(!wizardExtension.isInTheModel())
-			plugin.add(wizardExtension);
-		
-		IPluginElement serverWiz = factory.createElement(wizardExtension);
-		serverWiz.setName("fragment"); //$NON-NLS-1$
-		serverWiz.setAttribute("id",getNamespace()+".serverWizard"); //$NON-NLS-1$ //$NON-NLS-2$
-        serverWiz.setAttribute("class","org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment");    //$NON-NLS-1$ //$NON-NLS-2$
-		serverWiz.setAttribute("typeIds",getServerId()); //$NON-NLS-1$
-		wizardExtension.add(serverWiz);
-	}
-
-
-	private void addServerType(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension serverExtension =createExtension("org.eclipse.wst.server.core.serverTypes",true); //$NON-NLS-1$
-		IPluginElement serverType = factory.createElement(serverExtension);
-		serverType.setName("serverType"); //$NON-NLS-1$
-		serverType.setAttribute("runtime","true"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServer"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("id",getServerId()); //$NON-NLS-1$
-		serverType.setAttribute("initialState","stopped"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("supportsRemoteHosts","false"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("runtimeTypeId",getRuntimeId()); //$NON-NLS-1$
-		serverType.setAttribute("description",getStringOption(KEY_SERVER_DESCRIPTION)); //$NON-NLS-1$
-		serverType.setAttribute("launchConfigId",getSelectedConfigType()); //$NON-NLS-1$
-		serverType.setAttribute("behaviourClass",getSelectedBehaviourClass()); //$NON-NLS-1$
-		serverType.setAttribute("name",getStringOption(KEY_SERVER_NAME)); //$NON-NLS-1$
-		serverType.setAttribute("startTimeout","75000"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("stopTimeout","30000"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("hasConfiguration","false"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("launchModes","run,debug"); //$NON-NLS-1$ //$NON-NLS-2$
-		serverType.setAttribute("startBeforePublish", Boolean.toString(getBooleanOption(KEY_SERVER_START_BEFORE_PUBLISH))); //$NON-NLS-1$
-		serverExtension.add(serverType);
-		if(!serverExtension.isInTheModel())
-			plugin.add(serverExtension);
-	}
-
-
-	private void addRuntimeType(IPluginBase plugin, IPluginModelFactory factory) throws CoreException {
-		IPluginExtension extension =createExtension("org.eclipse.wst.server.core.runtimeTypes",true); //$NON-NLS-1$
-		IPluginElement runtimeType = factory.createElement(extension);
-		runtimeType.setName("runtimeType"); //$NON-NLS-1$
-		runtimeType.setAttribute("id",getRuntimeId()); //$NON-NLS-1$
-		runtimeType.setAttribute("name",getStringOption(KEY_SERVER_NAME)); //$NON-NLS-1$
-		runtimeType.setAttribute("description",getStringOption(KEY_SERVER_DESCRIPTION)); //$NON-NLS-1$
-		runtimeType.setAttribute("vendor",getStringOption(KEY_SERVER_VENDOR)); //$NON-NLS-1$
-		runtimeType.setAttribute("version",getStringOption(KEY_SERVER_VERSION)); //$NON-NLS-1$
-		runtimeType.setAttribute("class","org.eclipse.jst.server.generic.core.internal.GenericServerRuntime"); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		IPluginElement moduleType = factory.createElement(runtimeType);
-		moduleType.setName("moduleType"); //$NON-NLS-1$
-		moduleType.setAttribute("types","jst.web"); //$NON-NLS-1$ //$NON-NLS-2$
-        moduleType.setAttribute("versions","1.2, 1.3"); //$NON-NLS-1$ //$NON-NLS-2$
-        runtimeType.add(moduleType);
-        
-		extension.add(runtimeType);
-		if(!extension.isInTheModel())
-			plugin.add(extension);
-	}
-	
-	private String getRuntimeId(){
-		return getNamespace()+".runtime"; //$NON-NLS-1$
-	}
-	
-	private String getServerId(){
-		return getNamespace()+".server"; //$NON-NLS-1$
-	}
-	private String getNamespace()
-	{
-		return model.getPluginBase().getId();
-	}
-	private String getSelectedBehaviourClass() {
-		if(isExternalSelected())
-			return "org.eclipse.jst.server.generic.core.internal.ExternalServerBehaviour"; //$NON-NLS-1$
-		return "org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"; //$NON-NLS-1$
-	}
-
-	private boolean isExternalSelected(){
-		String selectedType = getStringOption(KEY_SERVER_LAUNCHTYPE);
-		return "external".equals(selectedType); //$NON-NLS-1$
-	}
-
-	private String getSelectedConfigType(){
-		if(isExternalSelected())
-			return "org.eclipse.jst.server.generic.core.ExternalLaunchConfigurationType"; //$NON-NLS-1$
-		return "org.eclipse.jst.server.generic.core.launchConfigurationType"; //$NON-NLS-1$
-	}
-	
-	protected ResourceBundle getPluginResourceBundle(){
-		return null;
-	}
-	
-	public String[] getNewFiles(){
-		return new String[]{"icons/", "server/","buildfiles/"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public String getUsedExtensionPoint(){
-		return null;
-	}
-	
-	public void validateOptions(TemplateOption changed){
-		if(changed.isRequired() && changed.isEmpty()){
-			flagMissingRequiredOption(changed);
-			return;
-		}
-		TemplateOption[] options = getOptions(0);
-		for (int i = 0; i < options.length; i++) {
-			if(options[i].isRequired() && options[i].isEmpty()){
-				flagMissingRequiredOption(options[i]);
-				return;
-			}
-		}
-		resetPageState();
-	}
-	
-	
-	
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0);
-		page.setTitle(Messages.pageTitle);
-		page.setDescription(Messages.pageDescription);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-	
-	
- 
-	protected URL getInstallURL() {
-		return ServerPdePlugin.getDefault().getBundle().getEntry("/"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		IPluginReference[] dep = new IPluginReference[4];
-		dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		dep[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-		dep[2] = new PluginReference("org.eclipse.jst.server.generic.core", null, 0); //$NON-NLS-1$
-		dep[3] = new PluginReference("org.eclipse.jst.server.generic.ui", null, 0); //$NON-NLS-1$
-		return dep;
-	}
-
-	public Object getValue(String variable) {
-		return super.getValue(variable);
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java
deleted file mode 100644
index 2f357ea..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/Messages.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: Gorkem Ercan - initial API and implementation
- *               
- **************************************************************************************************/
-package org.eclipse.jst.server.generic.pde.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.jst.server.generic.pde.internal.messages"; //$NON-NLS-1$
-
-	private Messages() {
-	}
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String labelJavaLaunchConfiguration;
-
-	public static String labelExternalLaunchConfiguration;
-
-	public static String labelServerName;
-
-	public static String labelServerVendor;
-
-	public static String labelServerVesion;
-
-	public static String labelLaunchType;
-
-	public static String labelStartBeforePublish;
-
-	public static String pageTitle;
-
-	public static String pageDescription;
-
-	public static String windowTitleWizard;
-}
diff --git a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties b/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties
deleted file mode 100644
index 5890ce9..0000000
--- a/plugins/org.eclipse.jst.server.pde/src/org/eclipse/jst/server/generic/pde/internal/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-##################################################################################################
-# Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
-# accompanying materials are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors: Gorkem Ercan - initial API and implementation
-#               
-###################################################################################################
-labelJavaLaunchConfiguration=Java launch cofiguration
-labelExternalLaunchConfiguration=External launch configuration
-labelServerName=Server Name
-labelServerVendor=Server Vendor
-labelServerVesion=Server Version
-labelLaunchType=Launch type
-labelStartBeforePublish=Start Before publish
-pageTitle=Generic Server Plug-in
-pageDescription=Create a new Generic server plug-in
-windowTitleWizard=New Generic Server plug-in
diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml
deleted file mode 100644
index f720ca4..0000000
--- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/buildfiles/$server_name$.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<project name="deployextension"  default="deploy.j2ee.web"  basedir=".">
-	<target name="deploy.j2ee.web">
-		<jar destfile="${project.working.dir}/${module.name}.war"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.war" todir="${server.publish.dir}"/>
-	</target>
-	
-	<target name="deploy.j2ee.ejb">
-		<jar destfile="${project.working.dir}/${module.name}.jar"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.jar" todir="${server.publish.dir}"/>
-	</target>
-	<target name="deploy.j2ee.ear">
-		<jar destfile="${project.working.dir}/${module.name}.ear"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-  		<move file="${project.working.dir}/${module.name}.ear" todir="${server.publish.dir}"/>
-	</target>
-	
-	<target name="undeploy.j2ee.web">
-		<delete file="${server.publish.dir}/${module.name}.war"> </delete>
-	</target>
-	<target name="undeploy.j2ee.ejb">
-		<delete file="${server.publish.dir}/${module.name}.jar"> </delete>
-	</target>
-	<target name="undeploy.j2ee.ear">
-		<delete file="${server.publish.dir}/${module.name}.ear"> </delete>
-	</target>	
-	
-</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/icons/server.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef b/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef
deleted file mode 100644
index c22872a..0000000
--- a/plugins/org.eclipse.jst.server.pde/templates_3.0/genericserver/servers/$server_name$.serverdef
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="JBOSS 3.2.3" version="v3.2.3">
-<property id="serverRootDirectory"
-	label="%ApplicationServerDirectory"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/appservers/jboss-3.2.3" />
-<property id="serverAddress"
-	label="%serverAddress"
-	type="string"
-	context="server"
-	default="127.0.0.1" />
-<property id="port"
-	label="%serverPort"
-	type="string"
-	context="server"
-	default="8080" />
-<property id="serverConfig"
-	label="%jboss323serverConfig"
-	type="string"
-	context="server"
-	default="default" />
-<property id="classPath"
-	label="%serverclassPath"
-	type="directory"
-	context="runtime"
-	default="/your_server_root/appservers/jboss-3.2.3" />
-
-	<port>
-		<no>$${port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-
-	<module>
-		<type>j2ee.web</type>
-		<publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>j2ee.ejb</type>
-		<publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>j2ee.ear</type>
-		<publishDir>$${serverRootDirectory}/server/$${serverConfig}/deploy</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.antpublisher</publisherReference>
-	</module>
-
-	<project>
-		<classpathReference>jboss.project</classpathReference>
-	</project>
-	
-	<start>
-		<mainClass>org.jboss.Main</mainClass>
-		<workingDirectory>$${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-c $${serverConfig}</programArguments>
-		<vmParameters></vmParameters>
-		<classpathReference>jboss</classpathReference>
-	</start>
-
-	<stop>
-		<mainClass>org.jboss.Shutdown</mainClass>
-		<workingDirectory>$${serverRootDirectory}/bin</workingDirectory>
-		<programArguments>-S</programArguments>
-		<vmParameters></vmParameters>
-		<classpathReference>jboss</classpathReference>
-	</stop>
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/buildfiles/jboss323.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.web</dataname>
-			<datavalue>undeploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.ejb</dataname>
-			<datavalue>undeploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.j2ee.ear</dataname>
-			<datavalue>deploy.j2ee.ear</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.j2ee.ear</dataname>
-			<datavalue>undeploy.j2ee.ear</datavalue>
-		</publisherdata>				
-	</publisher>
-
-	<classpath id="jboss" >
-		<archive path="$${classPath}/bin/run.jar" />
-		<archive path="$${classPath}/bin/shutdown.jar" />
-		<archive path="$${classPath}/client/jboss-j2ee.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/javax.servlet.jar" />
-		<archive path="$${classPath}/lib/jboss-boot.jar" />
-		<archive path="$${classPath}/lib/jboss-system.jar" />
-		<archive path="$${classPath}/lib/jboss-jmx.jar" />
-		<archive path="$${classPath}/lib/jboss-common.jar" />
-		<archive path="$${classPath}/lib/concurrent.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jboss.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jnpserver.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jpl-pattern.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jpl-util.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/jboss-transaction.jar" />
-		<archive path="$${classPath}/server/$${serverConfig}/lib/bcel.jar" />
-		<archive path="$${classPath}/lib/jdom.jar" />
-		<archive path="$${classPath}/lib/xercesImpl.jar" />
-		<archive path="$${classPath}/lib/xml-apis.jar" />
-		<archive path="$${classPath}/lib/gnu-regexp.jar" />
-		<archive path="$${classPath}/lib/getopt.jar" />
-	</classpath>
-
-	<classpath id="jboss.project" >
-		<archive path="$${classPath}/client/jboss-j2ee.jar" />
-		<archive path="$${classPath}/server/default/lib/javax.servlet.jar" />
-		<archive path="$${classPath}/server/default/lib/activation.jar" />
-		<archive path="$${classPath}/server/default/lib/mail.jar" />
-	</classpath>
-	<jndiConnection>
-		<providerUrl>jnp://$${serverAddress}:1099</providerUrl>
-		<initialContextFactory>org.jnp.interfaces.NamingContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
index 2f6bc55..5164fe9 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.tomcat.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.tomcat.core; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.qualifier
 Bundle-Activator: org.eclipse.jst.server.tomcat.core.internal.TomcatPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -11,12 +11,13 @@
  org.eclipse.jst.server.tomcat.core.internal.xml;x-friends:="org.eclipse.jst.server.tomcat.ui",
  org.eclipse.jst.server.tomcat.core.internal.xml.server32;x-friends:="org.eclipse.jst.server.tomcat.ui",
  org.eclipse.jst.server.tomcat.core.internal.xml.server40;x-friends:="org.eclipse.jst.server.tomcat.ui"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.commands;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)"
+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.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.jst.server.core;bundle-version="[1.0.103,1.1.0)",
+ org.eclipse.jst.common.project.facet.core;bundle-version="[1.1.0,1.2.0)"
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
index 2232a5a..af99fd7 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.core/plugin.properties
@@ -24,13 +24,6 @@
 runtimeTypeTomcat55Label=Apache Tomcat v5.5
 runtimeTypeTomcat55Description=Apache Tomcat v5.5 supports J2EE 1.2, 1.3, and 1.4 Web modules.
 
-# runtime target
-target32runtime=Tomcat v3.2 runtime
-target40runtime=Tomcat v4.0 runtime
-target41runtime=Tomcat v4.1 runtime
-target50runtime=Tomcat v5.0 runtime
-target55runtime=Tomcat v5.5 runtime
-
 # --------------- Servers ---------------
 tomcat32ServerType=Tomcat v3.2 Server
 tomcat32ServerDescription=Publishes and runs J2EE Web projects and server configurations to a local Tomcat server.
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
index 74d20db..3d0b684 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
+++ b/plugins/org.eclipse.jst.server.tomcat.core/plugin.xml
@@ -100,7 +100,7 @@
        description="%tomcat32ServerDescription"
        supportsRemoteHosts="false"
        runtime="true"
-       startTimeout="45000"
+       startTimeout="30000"
        stopTimeout="15000"
        initialState="stopped"
        hasConfiguration="true"
@@ -115,7 +115,7 @@
        description="%tomcat40ServerDescription"
        supportsRemoteHosts="false"
        runtime="true"
-       startTimeout="45000"
+       startTimeout="30000"
        stopTimeout="15000"
        initialState="stopped"
        hasConfiguration="true"
@@ -130,7 +130,7 @@
        description="%tomcat41ServerDescription"
        supportsRemoteHosts="false"
        runtime="true"
-       startTimeout="45000"
+       startTimeout="30000"
        stopTimeout="15000"
        initialState="stopped"
        hasConfiguration="true"
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java
index c1e063b..b6cef62 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/FileUtil.java
@@ -154,6 +154,7 @@
 	 * @param from a directory
 	 * @param to a directory
 	 * @param monitor a progress monitor
+	 * @deprecated will be removed in next release
 	 */
 	public static void smartCopyDirectory(String from, String to, IProgressMonitor monitor) {
 		try {
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java
index ba3bcd2..90cbf46 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.java
@@ -32,6 +32,7 @@
 	public static String loadingTask;
 	public static String errorCouldNotLoadConfiguration;
 	public static String savingTask;
+	public static String errorPublish;
 	public static String errorCouldNotSaveConfiguration;
 	public static String updatingConfigurationTask;
 	public static String canAddModule;
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties
index 14fe7f3..c283b39 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Messages.properties
@@ -40,6 +40,7 @@
 copyingTask=Copying from {0} to {1}
 deletingTask=Deleting {0}
 errorCopyingFile=Error copying file to {0}: {1}
+errorPublish=Publishing failed with multiple errors
 
 # Editor commands (used in undo/redo menus)
 configurationEditorActionAddMimeMapping=add MIME mapping
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
index ffb95a2..45777ce 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PingThread.java
@@ -27,7 +27,7 @@
 	private static final int PING_INTERVAL = 250;
 
 	// maximum number of pings before giving up
-	private int maxPings = 56; // total: 16 seconds + connection time
+	private int maxPings;
 
 	private boolean stop = false;
 	private String url;
@@ -39,7 +39,7 @@
 	 * 
 	 * @param server
 	 * @param url
-	 * @param maxPings
+	 * @param maxPings the maximum number of times to try pinging, or -1 to continue forever
 	 * @param behaviour
 	 */
 	public PingThread(IServer server, String url, int maxPings, TomcatServerBehaviour behaviour) {
@@ -81,7 +81,7 @@
 				}
 				count++;
 				
-				Trace.trace(Trace.FINEST, "Ping: pinging");
+				Trace.trace(Trace.FINEST, "Ping: pinging " + count);
 				URL pingUrl = new URL(url);
 				URLConnection conn = pingUrl.openConnection();
 				((HttpURLConnection)conn).getResponseCode();
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
index be18324..eeb23da 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
+ * 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
@@ -10,17 +10,14 @@
  *******************************************************************************/
 package org.eclipse.jst.server.tomcat.core.internal;
 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.*;
 import org.eclipse.jst.server.core.PublishUtil;
 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.IModuleResourceDelta;
-import org.eclipse.wst.server.core.model.PublishOperation;
-import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
+import org.eclipse.wst.server.core.model.*;
 /**
  * Tomcat publish helper.
  */
@@ -47,20 +44,23 @@
 	}
 
 	public void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException {
+		List status = new ArrayList();
 		if (module.length == 1) { // web module
-			publishDir(module[0], monitor);
+			publishDir(module[0], status, monitor);
 		} else { // utility module
-			publishJar(monitor);
+			publishJar(status, monitor);
 		}
+		throwException(status);
 		server.setModulePublishState2(module, IServer.PUBLISH_STATE_NONE);
 	}
 
-	private void publishDir(IModule module2, IProgressMonitor monitor) throws CoreException {
+	private void publishDir(IModule module2, List status, IProgressMonitor monitor) throws CoreException {
 		IPath path = server.getTempDirectory().append("webapps");
 		path = path.append(module2.getName());
 		
 		if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) { // clean and republish from scratch
-			PublishUtil.deleteDirectory(path.toFile(), monitor);
+			IStatus[] stat = PublishUtil.deleteDirectory(path.toFile(), monitor);
+			addArrayToList(status, stat);
 			
 			if (deltaKind == ServerBehaviourDelegate.REMOVED)
 				return;
@@ -68,7 +68,8 @@
 		
 		if (kind == IServer.PUBLISH_CLEAN || kind == IServer.PUBLISH_FULL) {
 			IModuleResource[] mr = server.getResources(module);
-			PublishUtil.copy(mr, path);
+			IStatus[] stat = PublishUtil.publishFull(mr, path, monitor);
+			addArrayToList(status, stat);
 			return;
 		}
 		
@@ -76,11 +77,12 @@
 		
 		int size = delta.length;
 		for (int i = 0; i < size; i++) {
-			PublishUtil.handleDelta(kind, path, delta[i]);
+			IStatus[] stat = PublishUtil.publishDelta(delta[i], path, monitor);
+			addArrayToList(status, stat);
 		}
 	}
 
-	private void publishJar(IProgressMonitor monitor) throws CoreException {
+	private void publishJar(List status, IProgressMonitor monitor) throws CoreException {
 		IPath path = server.getTempDirectory().append("webapps");
 		path = path.append(module[0].getName()).append("WEB-INF").append("lib");
 		IPath jarPath = path.append(module[1].getName() + ".jar");
@@ -100,11 +102,44 @@
 		}
 		
 		// make directory if it doesn't exist
-		
 		if (!path.toFile().exists())
 			path.toFile().mkdirs();
 		
 		IModuleResource[] mr = server.getResources(module);
-		PublishUtil.createZipFile(mr, jarPath);
+		IStatus[] stat = PublishUtil.publishZip(mr, jarPath, monitor);
+		addArrayToList(status, stat);
+	}
+
+	/**
+	 * 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
+	 */
+	protected static void throwException(List status) throws CoreException {
+		if (status == null)
+			status = new ArrayList();
+		
+		if (status == null || status.size() == 0)
+			return;
+		if (status.size() == 1) {
+			IStatus status2 = (IStatus) status.get(0);
+			throw new CoreException(status2);
+		}
+		IStatus[] children = new IStatus[status.size()];
+		status.toArray(children);
+		String message = Messages.errorPublish;
+		MultiStatus status2 = new MultiStatus(TomcatPlugin.PLUGIN_ID, 0, children, message, null);
+		throw new CoreException(status2);
+	}
+
+	protected 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]);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
index 1d09365..140ebc1 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatLaunchConfigurationDelegate.java
@@ -40,7 +40,6 @@
 		}
 		
 		TomcatServerBehaviour tomcatServer = (TomcatServerBehaviour) server.loadAdapter(TomcatServerBehaviour.class, null);
-		tomcatServer.setupLaunch(launch, mode, monitor);
 		
 		String mainTypeName = tomcatServer.getRuntimeClass();
 		
@@ -94,6 +93,7 @@
 		setDefaultSourceLocator(launch, configuration);
 		
 		// Launch the configuration
+		tomcatServer.setupLaunch(launch, mode, monitor);
 		try {
 			runner.run(runConfig, launch, monitor);
 			tomcatServer.setProcess(launch.getProcesses()[0]);
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
index b6d04b6..f6f5ba8 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntime.java
@@ -152,9 +152,6 @@
 	 * @see RuntimeDelegate#setDefaults(IProgressMonitor)
 	 */
 	public void setDefaults(IProgressMonitor monitor) {
-		IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-		setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-		
 		IRuntimeType type = getRuntimeWorkingCopy().getRuntimeType();
 		getRuntimeWorkingCopy().setLocation(new Path(TomcatPlugin.getPreference("location" + type.getId())));
 	}
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeClasspathProvider.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeClasspathProvider.java
index d8a8a9d..b589573 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeClasspathProvider.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatRuntimeClasspathProvider.java
@@ -13,13 +13,9 @@
 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.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jst.server.core.RuntimeClasspathProviderDelegate;
 
 import org.eclipse.wst.server.core.IRuntime;
@@ -27,45 +23,10 @@
  * Classpath provider for the Tomcat runtime.
  */
 public class TomcatRuntimeClasspathProvider extends RuntimeClasspathProviderDelegate {
-	public IClasspathEntry[] getDelegateClasspathEntries(IRuntime runtime, IProgressMonitor monitor) {
-		ITomcatRuntime tomcatRuntime = (ITomcatRuntime) runtime.loadAdapter(ITomcatRuntime.class, null);
-		IVMInstall vmInstall = tomcatRuntime.getVMInstall();
-		if (vmInstall != null) {
-			String name = vmInstall.getName();
-			String typeId = vmInstall.getVMInstallType().getId();
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(name)) };
-		}
-		return null;
-	}
-
 	/**
-	 * @see RuntimeClasspathProviderDelegate#getClasspathContainerLabel(IRuntime)
+	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IProject, IRuntime)
 	 */
-	public String getClasspathContainerLabel(IRuntime runtime) {
-		String id2 = runtime.getRuntimeType().getId();
-		if (id2.indexOf("32") > 0)
-			return Messages.target32runtime;
-		else if (id2.indexOf("40") > 0)
-			return Messages.target40runtime;
-		else if (id2.indexOf("41") > 0)
-			return Messages.target41runtime;
-		else if (id2.indexOf("50") > 0)
-			return Messages.target50runtime;
-		
-		return Messages.target55runtime;
-	}
-
-	/**
-	 * @see RuntimeClasspathProviderDelegate#resolveClasspathContainer(IRuntime)
-	 */
-	public IClasspathEntry[] resolveClasspathContainer(IRuntime runtime) {
-		return resolveClasspathContainer2(runtime);
-	}
-
-	/**
-	 * Resolve the classpath container.
-	 */
-	protected IClasspathEntry[] resolveClasspathContainer2(IRuntime runtime) {
+	public IClasspathEntry[] resolveClasspathContainer(IProject project, IRuntime runtime) {
 		IPath installPath = runtime.getLocation();
 		
 		if (installPath == null)
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
index 2af49b1..14e35a8 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/TomcatServerBehaviour.java
@@ -274,19 +274,23 @@
 	 * @throws CoreException
 	 */
 	private void publishDir(int deltaKind, Properties p, IModule module[], IProgressMonitor monitor) throws CoreException {
+		List status = new ArrayList();
 		if (deltaKind == REMOVED) {
 			try {
 				String publishPath = (String) p.get(module[0].getId());
-				PublishUtil.deleteDirectory(new File(publishPath), monitor);
+				IStatus[] stat = PublishUtil.deleteDirectory(new File(publishPath), monitor);
+				PublishOperation2.addArrayToList(status, stat);
 			} catch (Exception e) {
 				throw new CoreException(new Status(IStatus.WARNING, TomcatPlugin.PLUGIN_ID, 0, "Could not remove module", e));
 			}
 		} else {
 			IPath to = getServer().getRuntime().getLocation().append("webapps").append(module[0].getName());
 			IModuleResource[] mr = getResources(module);
-			PublishUtil.smartCopy(mr, to, monitor);
+			IStatus[] stat = PublishUtil.publishSmart(mr, to, monitor);
+			PublishOperation2.addArrayToList(status, stat);
 			p.put(module[0].getId(), to.toOSString());
 		}
+		PublishOperation2.throwException(status);
 	}
 
 	/**
@@ -323,7 +327,10 @@
 			}
 			
 			IModuleResource[] mr = getResources(module);
-			PublishUtil.createZipFile(mr, jarPath);
+			IStatus[] stat = PublishUtil.publishZip(mr, jarPath, monitor);
+			List status = new ArrayList();
+			PublishOperation2.addArrayToList(status, stat);
+			PublishOperation2.throwException(status);
 			p.put(module[1].getId(), jarPath.toOSString());
 		}
 	}
@@ -334,7 +341,7 @@
 			baseDir = getTempDirectory();
 		else
 			baseDir = getServer().getRuntime().getLocation();
-
+		
 		// Publish context configuration for servers that support META-INF/context.xml
 		IStatus status = getTomcatConfiguration().publishContextConfig(baseDir, monitor);
 		if (!status.isOK())
@@ -405,14 +412,14 @@
 		setServerRestartState(false);
 		setServerState(IServer.STATE_STARTING);
 		setMode(launchMode);
-	
+		
 		// ping server to check for startup
 		try {
 			String url = "http://localhost";
 			int port = configuration.getMainPort().getPort();
 			if (port != 80)
 				url += ":" + port;
-			ping = new PingThread(getServer(), url, 50, this);
+			ping = new PingThread(getServer(), url, -1, this);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Can't ping for Tomcat startup.");
 		}
@@ -446,6 +453,7 @@
 			
 			String args = renderCommandLine(getRuntimeProgramArguments(false), " ");
 			wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args);
+			wc.setAttribute("org.eclipse.debug.ui.private", true);
 			wc.setAttribute(ATTR_STOP, "true");
 			wc.launch(ILaunchManager.RUN_MODE, new NullProgressMonitor());
 		} catch (Exception e) {
@@ -669,10 +677,8 @@
 		
 		ITomcatRuntime runtime = getTomcatRuntime();
 		IVMInstall vmInstall = runtime.getVMInstall();
-		if (vmInstall != null) {
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmInstall.getVMInstallType().getId());
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmInstall.getName());
-		}
+		if (vmInstall != null)
+			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
 		
 		// update classpath
 		IRuntimeClasspathEntry[] originalClasspath = JavaRuntime.computeUnresolvedRuntimeClasspath(workingCopy);
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
index f2d0bf8..69bb9f3 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/META-INF/MANIFEST.MF
@@ -2,24 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.tomcat.ui; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.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,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.debug.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.tomcat.core;bundle-version="[1.0.102,1.1.0)"
+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.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.jst.server.ui;bundle-version="[1.0.103,1.1.0)",
+ org.eclipse.jst.server.tomcat.core;bundle-version="[1.0.103,1.1.0)",
+ org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.2.0)"
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.server.tomcat.ui/build.properties b/plugins/org.eclipse.jst.server.tomcat.ui/build.properties
index 9832134..5ba12ce 100644
--- a/plugins/org.eclipse.jst.server.tomcat.ui/build.properties
+++ b/plugins/org.eclipse.jst.server.tomcat.ui/build.properties
@@ -18,3 +18,5 @@
                @dot/**,\
                temp.folder/**
 source.. = tomcatui/
+
+
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
index 3867e9b..20637f8 100644
--- 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
@@ -20,6 +20,7 @@
 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;
@@ -279,10 +280,12 @@
 	}
 
 	public void dispose() {
+		super.dispose();
+		
 		if (configuration != null)
 			configuration.removePropertyChangeListener(listener);
 	}
-		
+
 	/* (non-Javadoc)
 	 * Initializes the editor part with a site and input.
 	 */
@@ -313,7 +316,8 @@
 
 		webAppTable.removeAll();
 		setErrorMessage(null);
-	
+		
+		ILabelProvider labelProvider = ServerUICore.getLabelProvider();
 		List list = configuration.getWebModules();
 		Iterator iterator = list.iterator();
 		while (iterator.hasNext()) {
@@ -329,8 +333,9 @@
 				projectImage = TomcatUIPlugin.getImage(TomcatUIPlugin.IMG_PROJECT_MISSING);
 				IModule module2 = ServerUtil.getModule(memento);
 				if (module2 != null) {
-					projectName = ServerUICore.getLabelProvider().getText(module2);
-					projectImage = ServerUICore.getLabelProvider().getImage(module2);
+					
+					projectName = labelProvider.getText(module2);
+					projectImage = labelProvider.getImage(module2);
 					item.setData(module2);
 				}
 			}
@@ -347,6 +352,7 @@
 				setErrorMessage(NLS.bind(Messages.errorMissingWebModule, module.getDocumentBase()));
 			}
 		}
+		labelProvider = null;
 		
 		if (readOnly) {
 			addProject.setEnabled(false);
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
index 1b8dab7..1a481db 100644
--- 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
@@ -13,6 +13,7 @@
 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;
@@ -143,6 +144,7 @@
 			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;
@@ -152,16 +154,17 @@
 						IStatus status = server2.canModifyModules(new IModule[] { module3 }, null, null);
 						if (status != null && status.isOK()) {
 							TableItem item = new TableItem(projTable, SWT.NONE);
-							item.setText(0, ServerUICore.getLabelProvider().getText(module3));
-							item.setImage(0, ServerUICore.getLabelProvider().getImage(module3));
+							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);
diff --git a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
index cea379c..021acfe 100644
--- a/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.ui/META-INF/MANIFEST.MF
@@ -2,27 +2,27 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.server.ui; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.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,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.junit;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.ui;bundle-version="[3.2.0,3.3.0)",
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.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,1.2.0)",
  org.eclipse.wst.common.project.facet.ui;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,3.3.0)"
+ org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)"
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif b/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif
index c9a5619..cb55e33 100644
--- a/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif
+++ b/plugins/org.eclipse.jst.server.ui/icons/obj16/jre.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
index eb72729..da85fff 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/GenericRuntimeComposite.java
@@ -70,7 +70,7 @@
 			runtime = null;
 		} else {
 			runtimeWC = newRuntime;
-			runtime = (IGenericRuntimeWorkingCopy) newRuntime.getAdapter(IGenericRuntimeWorkingCopy.class);
+			runtime = (IGenericRuntimeWorkingCopy) newRuntime.loadAdapter(IGenericRuntimeWorkingCopy.class, null);
 		}
 		
 		init();
diff --git a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties
index f12f916..aa531d6 100644
--- a/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties
+++ b/plugins/org.eclipse.jst.server.ui/sjavaui/org/eclipse/jst/server/ui/internal/Messages.properties
@@ -19,7 +19,7 @@
 runtimeTypeDefaultJRE=Workbench default JRE
 runtimeTypeInstalledJREs=In&stalled JREs...
 
-classpathContainer=Server Runtime
+classpathContainer=Server Library
 classpathContainerDescription=Select a server runtime to add to the classpath
 classpathContainerRuntimeList=Select a &runtime to add to the classpath:
 
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.classpath b/plugins/org.eclipse.jst.server.websphere.core/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.cvsignore b/plugins/org.eclipse.jst.server.websphere.core/.cvsignore
deleted file mode 100644
index ef3ffb2..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-*.xml
-temp.folder
-webspherecore.jar
-webspherecoresrc.zip
-javaCompiler.webspherecore.jar.args
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.project b/plugins/org.eclipse.jst.server.websphere.core/.project
deleted file mode 100644
index 83cf217..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.server.websphere.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.server.websphere.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 3cc81c3..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Apr 16 23:22:14 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.jst.server.websphere.core/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jst.server.websphere.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 556ca8a..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,13 +0,0 @@
-#Sun Apr 16 23:22:00 EDT 2006
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-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.websphere.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 77d9207..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: WebSphere Generic Server Definition Core Plug-in
-Bundle-SymbolicName: org.eclipse.jst.server.websphere.core; singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-ClassPath: webspherecore.jar
-Bundle-Activator: org.eclipse.jst.server.websphere.core.CorePlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.server.ui;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.jst.j2ee;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.j2ee.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.j2ee.web;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.server.generic.core;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.jst.server.generic.ui;bundle-version="[1.0.100,1.1.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,2.3.0)",
- org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)"
-Eclipse-AutoStart: true
-Export-Package: org.eclipse.jst.server.websphere.core
diff --git a/plugins/org.eclipse.jst.server.websphere.core/about.html b/plugins/org.eclipse.jst.server.websphere.core/about.html
deleted file mode 100644
index 4ec5989..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 2, 2006</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/build.properties b/plugins/org.eclipse.jst.server.websphere.core/build.properties
deleted file mode 100644
index d77c018..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = plugin.xml,\
-               serverdef/,\
-               META-INF/,\
-               about.html,\
-               webspherecore.jar,\
-               icons/,\
-               plugin.properties
-jars.compile.order = webspherecore.jar
-source.webspherecore.jar = src/
-output.webspherecore.jar = bin/
diff --git a/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif b/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/icons/obj16/websphere.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.server.websphere.core/plugin.properties b/plugins/org.eclipse.jst.server.websphere.core/plugin.properties
deleted file mode 100644
index dd16802..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-pluginName= WebSphere Generic Server Definition Core Plug-in
-providerName=Eclipse.org
-pluginDescription=Provides server definition IBM WebSphere application server
-genericCategory=IBM
-
-# ============ websphere ====================
-websphere.6.runtime.name=IBM WebSphere v6.0
-websphere.6.runtime.description=Publishes and runs J2EE 1.4 modules on a local server. \
-Provides basic server functionality
-websphere.6.server.name=IBM WebSphere v6.0
-websphere.6.server.description=Publishes and runs J2EE 1.4 modules on a local server. \
-Provides basic server functionality
-
-wasHome=IBM WebSphere Installation Directory:
-port=Port:
-wasProfile=Server Profile Directory:
-wasCell=Cell:
-wasNode=Node:
-wasServer=Server:
diff --git a/plugins/org.eclipse.jst.server.websphere.core/plugin.xml b/plugins/org.eclipse.jst.server.websphere.core/plugin.xml
deleted file mode 100644
index a776c55..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/plugin.xml
+++ /dev/null
@@ -1,153 +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.generic.runtime.websphere.6"
-       name="%websphere.6.runtime.name"
-       description="%websphere.6.runtime.description"
-       vendor="%genericCategory"
-       version="6.0"
-       class="org.eclipse.jst.server.generic.core.internal.GenericServerRuntime">
-      <moduleType
-         types="jst.web"
-         versions="2.2, 2.3, 2.4"/>
-      <moduleType
-         types="jst.ejb"
-         versions="1.1, 2.0, 2.1"/>
-      <moduleType
-         types="jst.ear"
-         versions="1.2, 1.3, 1.4"/>
-      <moduleType
-         types="jst.connector"
-         versions="1.0, 1.5"/>
-       <moduleType
-         types="jst.utility"
-         versions="1.0"/>
-   
-    </runtimeType>
-  </extension>
-
-   <extension point="org.eclipse.wst.server.core.serverTypes">
-
-     <serverType
-           runtime="true"
-           class="org.eclipse.jst.server.generic.core.internal.GenericServer"
-           id="org.eclipse.jst.servers.websphere.6"
-           initialState="stopped"
-		   startTimeout="300000"
-           stopTimeout="15000"
-           supportsRemoteHosts="false"
-           runtimeTypeId="org.eclipse.jst.server.generic.runtime.websphere.6"
-           description="%websphere.6.server.description"
-           launchConfigId="org.eclipse.jst.server.generic.core.launchConfigurationType"
-           behaviourClass="org.eclipse.jst.server.generic.core.internal.GenericServerBehaviour"
-           name="%websphere.6.server.name"
-           hasConfiguration="false"
-           launchModes="run,debug"
-           startBeforePublish="true">
-     </serverType>
-     
-     
-	</extension>
-
-<!-- UI Components-->
-    <extension
-       point="org.eclipse.wst.server.ui.wizardFragments">
-
-     <fragment
-        id="org.eclipse.jst.server.generic.runtime"
-        typeIds="org.eclipse.jst.server.generic.runtime.websphere.6"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerRuntimeWizardFragment"/>           
-     <fragment
-        id="org.eclipse.jst.server.generic.server"
-        typeIds="org.eclipse.jst.servers.websphere.6"
-        class="org.eclipse.jst.server.generic.ui.internal.GenericServerWizardFragment"/>   
-        
-  </extension>
-  
-  <extension point="org.eclipse.wst.server.ui.serverImages">
-         
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/websphere.gif"
-         typeIds="org.eclipse.jst.servers.websphere.6" />
-     <image
-         id="org.eclipse.jst.server.generic.image"
-         icon="icons/obj16/websphere.gif"
-         typeIds="org.eclipse.jst.server.generic.runtime.websphere.6"/>
-
-	</extension>
-  
-<!-- Server type definitions -->
-   <extension point="org.eclipse.jst.server.generic.core.serverdefinition">
-		<serverdefinition id="org.eclipse.jst.server.generic.runtime.websphere.6" definitionfile="/serverdef/websphere.6.serverdef">
-		</serverdefinition>
-   </extension>
-
-   <extension point="org.eclipse.jst.server.generic.core.genericpublisher">
-      <genericpublisher
-            class="org.eclipse.jst.server.websphere.core.AntPublisher"
-            id="org.eclipse.jst.server.generic.websphere.antpublisher"/>
-   </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <runtime-component-type
-       id="org.eclipse.jst.server.generic.runtime.websphere">
-    </runtime-component-type>
-
-    <runtime-component-version
-       type="org.eclipse.jst.server.generic.runtime.websphere"
-       version="6.0"/>
-
-    <adapter>
-      <runtime-component
-         id="org.eclipse.jst.server.generic.runtime.websphere"/>
-      <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.generic.runtime.websphere"
-         version="6.0"/>
-      <facet
-         id="jst.web"
-         version="2.2,2.3,2.4"/>
-      <facet
-         id="jst.ejb"
-         version="1.1,2.0,2.1"/>
-      <facet
-         id="jst.ear"
-         version="1.2,1.3,1.4"/>
-         
-       <facet
-         id="jst.appclient"
-         version="1.2,1.3,1.4"/>
-       
-       <facet
-         id="jst.utility"
-         version="1.0"/>  
-         
-       <facet
-         id="jst.connector"
-         version="1.0,1.5"/>
-    </supported>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image runtime-component-type="org.eclipse.jst.server.generic.runtime.websphere"
-      path="icons/obj16/websphere.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="org.eclipse.jst.server.generic.runtime.websphere"/>
-      <factory class="org.eclipse.jst.server.ui.internal.RuntimeLabelProvider$Factory"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml b/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml
deleted file mode 100644
index 9d3ea42..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/serverdef/scripts/websphere.6.x.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<project name="deployextension"  default="deploy.j2ee.web"  basedir=".">
-
-	<property name="was.home" value="${wasHome}"/>
-    <property name="module.working.dir" value="${project.working.dir}/${project.name}"></property>
-	<path id="toolpath">
-		<fileset dir="${was.home}/lib">
-			<include name="*.jar" />
-		</fileset>
-		<pathelement path="${was.home}/lib/properties" />
-		<pathelement path="${was.home}/optionalLibraries/jython.jar" />
-	</path>
-
-	<taskdef classpathref="toolpath" name="wsadmin" classname="com.ibm.websphere.ant.tasks.WsAdmin" />
-	<taskdef classpathref="toolpath" name="wsejbdeploy" classname="com.ibm.websphere.ant.tasks.WsEjbDeploy" />	
-	<taskdef classpathref="toolpath" name="wsinstallapp" classname="com.ibm.websphere.ant.tasks.InstallApplication" />	
-
-	<target name="deploy.j2ee.web">
-		<echo message="Module Working Day  ${module.working.dir} Project Working Dir=${project.working.dir} Message Dir=${module.dir} Module Name ${module.name}"></echo>
-		<jar destfile="${project.working.dir}/${module.name}.war"> 
-			<zipfileset dir="${module.working.dir}">
-				<include name="**/*.*"/>
-				<exclude name="**/*.war"/>
-			</zipfileset>
-		</jar>
-		<wsadmin  
-			washome="${was.home}" 	
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp uninstall ${module.name}" 
-			failonerror="false">
-		</wsadmin>
-	    <wsadmin  
-			washome="${was.home}" 				
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp install ${project.working.dir}/${module.name}.war {-appname ${module.name} -contextroot  ${module.name} -usedefaultbindings}" 
-			failonerror="true">
-		</wsadmin>
-	    <wsadmin  
-		  washome="${was.home}" 
-		  properties="${wasProfile}/properties/wsadmin.properties" 
-		  command="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,*] startApplication ${module.name}" 
-		  failonerror="true">
-	    </wsadmin>			
-	</target>
-	
-	<target name="deploy.j2ee.ejb">
-		<jar destfile="${project.working.dir}/${module.name}.jar"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-		<wsejbdeploy 
-				inputJar="${project.working.dir}/${module.name}.jar" 
-				wasHome="${was.home}" 
-				washome="${was.home}" 
-				classpathref="toolpath"
-				outputJar="${project.working.dir}/${module.name}-was.jar" 
-				codegen="true " 
-				keepGenerated="true" 
-				quiet="false" 
-				noValidate="true" 
-				noWarnings="false" 
-				noInform="false" 
-				compatible35="false" 
-				failonerror="true" 
-				trace="true" 
-				jvmMaxMemory="256M" />
-	
-			<wsadmin  
-				washome="${was.home}" 
-				properties="${wasProfile}/properties/wsadmin.properties" 
-				command="$AdminApp uninstall ${module.name}" 
-				failonerror="false">
-			</wsadmin>
-
-		    <wsadmin  
-				washome="${was.home}" 				
-				properties="${wasProfile}/properties/wsadmin.properties" 
-				command="$AdminApp install ${project.working.dir}/${module.name}.jar {-appname ${module.name} -usedefaultbindings}" 
-				failonerror="true">
-			</wsadmin>
-
-			<wsadmin  
-			  washome="${was.home}" 
-			  properties="${wasProfile}/properties/wsadmin.properties" 
-			  command="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,*] startApplication ${module.name}" 
-			  failonerror="true">
-		    </wsadmin>	
-	</target>
-	
-	<target name="deploy.j2ee.ear">
-		<jar destfile="${project.working.dir}/${module.name}.ear"> 
-			<zipfileset dir="${module.dir}">
-	        	<include name="**/*.*"/>
-	       		<exclude name="**/*.java"/>
-			</zipfileset>
-		</jar>
-
-		<wsadmin  
-					washome="${was.home}" 
-					properties="${wasProfile}/properties/wsadmin.properties" 
-					command="$AdminApp uninstall ${module.name}" 
-					failonerror="false">
-		</wsadmin>
-
-		<wsadmin  
-					washome="${was.home}" 				
-					properties="${wasProfile}/properties/wsadmin.properties" 
-					command="$AdminApp install ${project.working.dir}/${module.name}.ear {-appname ${module.name} -deployejb -usedefaultbindings}" 
-					failonerror="true">
-		</wsadmin>
-		<wsadmin  
-				  washome="${was.home}" 
-				  properties="${wasProfile}/properties/wsadmin.properties" 
-				  command="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,*] startApplication ${module.name}" 
-				  failonerror="true">
-		 </wsadmin>	
-		
-	</target>	
-	
-	<target name="undeploy.j2ee.web">
-		
-		<wsadmin  
-			washome="${was.home}" 
-			
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp uninstall ${module.name}" 
-			failonerror="false">
-		</wsadmin>
-	</target>
-	<target name="undeploy.j2ee.ejb">
-		<wsadmin  
-			washome="${was.home}" 
-			
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp uninstall ${module.name}" 
-			failonerror="false">
-		</wsadmin>
-	</target>	
-	
-	<target name="undeploy.j2ee.ear">
-		<wsadmin  
-			washome="${was.home}" 
-			
-			properties="${wasProfile}/properties/wsadmin.properties" 
-			command="$AdminApp uninstall ${module.name}" 
-			failonerror="false">
-		</wsadmin>
-	</target>	
-
-</project>
diff --git a/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef b/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef
deleted file mode 100644
index 3a8dc3d..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/serverdef/websphere.6.serverdef
+++ /dev/null
@@ -1,213 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:ServerRuntime
-	xmlns:tns="http://eclipse.org/jst/server/generic/ServerTypeDefinition"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://eclipse.org/jst/server/generic/ServerTypeDefinition ServerTypeDefinitionSchema.xsd "
-	name="IBM WebSphere 6" version="v6.0">
-	<property id="wasHome"
-		label="%wasHome"
-		type="directory"
-		context="runtime"
-		default="/your_server_root/was-6.0" />
-
-	<property id="port"
-		label="%port"
-		type="string"
-		context="server"
-		default="9080" />
-
-	<property id="wasProfile"
-		label="%wasProfile"
-		type="directory"
-		context="server"
-		default="/your_server_root/was-6.0/profiles/default" />
-
-	<property id="wasCell"
-		label="%wasCell"
-		type="string"
-		context="server"
-		default="[cell]" />
-
-	<property id="wasNode"
-		label="%wasNode"
-		type="string"
-		context="server"
-		default="[Node]" />
-	<property id="wasServer"
-		label="%wasServer"
-		type="string"
-		context="server"
-		default="server1" />
-
-	<port>
-		<no>${port}</no>
-		<name>Http</name>
-		<protocol>http</protocol>
-	</port>
-
-	<module>
-		<type>jst.web</type>
-		<publishDir>${wasHome}</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.websphere.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.ejb</type>
-		<publishDir>${wasHome}</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.websphere.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.ear</type>
-		<publishDir>${wasHome}</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.websphere.antpublisher</publisherReference>
-	</module>
-	<module>
-		<type>jst.connector</type>
-		<publishDir>${wasHome}</publishDir>
-		<publisherReference>org.eclipse.jst.server.generic.websphere.antpublisher</publisherReference>
-	</module>
-	<project>
-		<classpathReference>was.project</classpathReference>
-	</project>
-	
-	<start>
-		<mainClass>com.ibm.ws.bootstrap.WSLauncher</mainClass>
-		<workingDirectory>${wasProfile}</workingDirectory>
-		<programArguments>com.ibm.ws.runtime.WsServer "${wasProfile}/config" "${wasCell}" "${wasNode}" "${wasServer}"</programArguments>
-		<vmParameters>"-Duser.install.root=${wasProfile}"  "-Dserver.root=${wasProfile}"  "-Dwas.install.root=${wasHome}" "-Dcom.ibm.itp.location=${wasHome}/bin" "-Dws.ext.dirs=${wasHome}/java/lib${pathChar}${wasProfile}/classes${pathChar}${wasHome}/classes${pathChar}${wasHome}/lib${pathChar}${wasHome}/installedChannels${pathChar}${wasHome}/lib/ext${pathChar}${wasHome}/web/help${pathChar}${wasHome}/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime"  -Xbootclasspath/p:${wasHome}/java/jre/lib/ext/ibmorb.jar${pathChar}${wasHome}/java/jre/lib/ext/ibmext.jar -Xms50m -Xmx256m "-Dcom.ibm.CORBA.ConfigURL=file:${wasProfile}/properties/sas.client.props" "-Dcom.ibm.SOAP.ConfigURL=file:${wasProfile}/properties/soap.client.props"   "-Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager" "-Djava.util.logging.configureByServer=true" "-Dibm.websphere.preload.classes=true"  "-Djava.library.path=${wasHome}/java/bin${pathChar}${wasHome}/bin${pathChar}${wasHome}/java/bin${pathChar}${wasHome}/java/jre/bin"</vmParameters>
-		<classpathReference>was</classpathReference>
-	</start>
-
-	<stop>
-		<mainClass>com.ibm.ws.bootstrap.WSLauncher</mainClass>
-		<workingDirectory>${wasHome}</workingDirectory>
-		<programArguments>com.ibm.ws.management.tools.WsServerStop "${wasProfile}/config" "${wasCell}" "${wasNode}" "${wasServer}"</programArguments>
-		<vmParameters>"-Duser.install.root=${wasProfile}"  "-Dserver.root=${wasProfile}"  "-Dwas.install.root=${wasHome}" "-Dws.ext.dirs=${wasHome}/java/lib${pathChar}${wasHome}/classes${pathChar}${wasHome}/lib${pathChar}${wasHome}/installedChannels${pathChar}${wasHome}/lib/ext${pathChar}${wasHome}/web/help${pathChar}${wasHome}/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime"   "-Xbootclasspath/p:${wasHome}/java/jre/lib/ext/ibmorb.jar${pathChar}${wasHome}/java/jre/lib/ext/ibmext.jar" -Xms50m -Xmx256m "-Dcom.ibm.CORBA.ConfigURL=file:${wasProfile}/properties/sas.client.props" "-Dcom.ibm.SOAP.ConfigURL=file:${wasProfile}/properties/soap.client.props"   "-Djava.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager" "-Djava.util.logging.configureByServer=true" "-Dibm.websphere.preload.classes=true"  "-Djava.library.path=${wasHome}/java/bin${pathChar}${wasHome}/bin${pathChar}${wasHome}/java/bin${pathChar}${wasHome}/java/jre/bin"</vmParameters>
-		<classpathReference>was</classpathReference>
-	</stop>
-	
-	<publisher id="org.eclipse.jst.server.generic.antpublisher">
-		<publisherdata>
-			<dataname>build.file</dataname>
-			<datavalue>/serverdef/scripts/websphere.6.x.xml</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.web</dataname>
-			<datavalue>deploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ejb</dataname>
-			<datavalue>deploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.web</dataname>
-			<datavalue>undeploy.j2ee.web</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ejb</dataname>
-			<datavalue>undeploy.j2ee.ejb</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.publish.jst.ear</dataname>
-			<datavalue>deploy.j2ee.ear</datavalue>
-		</publisherdata>
-		<publisherdata>
-			<dataname>target.unpublish.jst.ear</dataname>
-			<datavalue>undeploy.j2ee.ear</datavalue>
-		</publisherdata>		
-	</publisher>
-
-	<classpath id="was" >
-	    <archive path="${wasHome}/properties" />
-	    <archive path="${wasHome}/lib/bootstrap.jar" />
-        <archive path="${wasHome}/lib/j2ee.jar" />
-        <archive path="${wasHome}/lib/lmproxy.jar" />
-        <archive path="${wasHome}/lib/urlprotocols.jar" />
-	</classpath>
-
-	<classpath id="was.project">
-	    <archive path="${wasHome}/lib/activitySession.jar" />
-        <archive path="${wasHome}/lib/acwa.jar" />
-		<archive path="${wasHome}/lib/admin.jar" />        
-		<archive path="${wasHome}/lib/appprofile.jar" />        
-		<archive path="${wasHome}/lib/asynchbeans.jar" />   
-		<archive path="${wasHome}/lib/bootstrap.jar" />		     
-		<archive path="${wasHome}/lib/bsf.jar" />        
-		<archive path="${wasHome}/lib/channelfw.jar" />        
-		<archive path="${wasHome}/lib/cluster.jar" />        
-		<archive path="${wasHome}/lib/clusteradapter.jar" />        
-		<archive path="${wasHome}/lib/commonj-twm.jar" />        
-		<archive path="${wasHome}/lib/commons-discovery.jar" />        
-		<archive path="${wasHome}/lib/commons-logging-api.jar" />        
-		<archive path="${wasHome}/lib/distexcep.jar" />        
-		<archive path="${wasHome}/lib/dwlmclient.jar" />        
-		<archive path="${wasHome}/lib/dynacache.jar" />        
-		<archive path="${wasHome}/lib/ecutils.jar" />        
-		<archive path="${wasHome}/lib/ejbcontainer.jar" />        
-		<archive path="${wasHome}/lib/ejbcontainerImpl.jar" />        
-		<archive path="${wasHome}/lib/ejbportable.jar" />        
-		<archive path="${wasHome}/lib/emf.jar" />      
-		<archive path="${wasHome}/lib/ffdc.jar" />        
-		<archive path="${wasHome}/lib/i18nctx.jar" />        
-		<archive path="${wasHome}/installedChannels/channel.http.jar" />        
-		<archive path="${wasHome}/installedChannels/channel.ssl.jar" />        
-		<archive path="${wasHome}/installedChannels/channel.tcp.jar" />        
-		<archive path="${wasHome}/lib/ivjejb35.jar" />        
-		<archive path="${wasHome}/lib/j2cIntf.jar" />        
-		<archive path="${wasHome}/lib/j2ee.jar" />        
-		<archive path="${wasHome}/lib/jdbcmediator.jar" />       
-		<archive path="${wasHome}/lib/jsf-api.jar" />       
-		<archive path="${wasHome}/lib/jstl.jar" />       
-		<archive path="${wasHome}/lib/management.jar"/>
-		<archive path="${wasHome}/lib/marshall.jar"/>
-		<archive path="${wasHome}/lib/objectpool.jar"/>
-		<archive path="${wasHome}/lib/odc.jar"/>
-		<archive path="${wasHome}/lib/pm.jar"/>
-		<archive path="${wasHome}/lib/pmimpl.jar"/>
-		<archive path="${wasHome}/lib/processintf.jar"/>
-		<archive path="${wasHome}/lib/qryclient.jar"/>
-		<archive path="${wasHome}/lib/query.jar"/>
-		<archive path="${wasHome}/lib/querymd.jar"/> 
-		<archive path="${wasHome}/lib/queryws.jar"/>
-		<archive path="${wasHome}/lib/ras.jar"/>
-		<archive path="${wasHome}/lib/rsadaptercci.jar"/>
-		<archive path="${wasHome}/lib/rsadapterspi.jar"/>
-		<archive path="${wasHome}/lib/rsaexternal.jar"/>
-		<archive path="${wasHome}/lib/runtime.jar"/>
-		<archive path="${wasHome}/lib/runtimefw.jar"/>
-		<archive path="${wasHome}/lib/sas.jar"/>
-		<archive path="${wasHome}/lib/scheduler-client.jar"/>
-		<archive path="${wasHome}/lib/scheduler-service.jar"/>
-		<archive path="${wasHome}/lib/security.jar"/>
-		<archive path="${wasHome}/lib/securityImpl.jar"/>
-		<archive path="${wasHome}/lib/servletevent.jar"/>
-		<archive path="${wasHome}/lib/sib.common.jar"/>
-		<archive path="${wasHome}/lib/sib.server.jar"/>
-		<archive path="${wasHome}/lib/soap.jar"/>
-		<archive path="${wasHome}/lib/soap-sec.jar"/>
-		<archive path="${wasHome}/lib/standard.jar"/>
-		<archive path="${wasHome}/lib/startupbean.jar"/>
-		<archive path="${wasHome}/lib/tx.jar"/>
-		<archive path="${wasHome}/lib/uddi4jv2.jar"/>
-		<archive path="${wasHome}/lib/utils.jar"/>
-		<archive path="${wasHome}/lib/vaprt.jar"/>
-		<archive path="${wasHome}/lib/wccm_base.jar"/>
-		<archive path="${wasHome}/lib/webcontainer.jar"/>
-		<archive path="${wasHome}/lib/webservices.jar"/>
-		<archive path="${wasHome}/lib/wsatlib.jar"/>
-		<archive path="${wasHome}/lib/ws-commons-logging.jar"/>
-		<archive path="${wasHome}/lib/wsdl4j.jar"/>
-		<archive path="${wasHome}/lib/wsexception.jar"/>
-		<archive path="${wasHome}/lib/wsif.jar"/>
-		<archive path="${wasHome}/lib/wsif-j2c.jar"/>
-		<archive path="${wasHome}/lib/ws-jsf.jar"/>
-		<archive path="${wasHome}/lib/wssec.jar"/>
-	</classpath>
-	<jndiConnection>
-		<providerUrl>iiop://${serverAddress}:2001</providerUrl>
-		<initialContextFactory>org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory</initialContextFactory>
-		<jndiProperty>
-			<name></name>
-			<value></value>
-		</jndiProperty>
-	</jndiConnection>
-</tns:ServerRuntime>
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/AntPublisher.java b/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/AntPublisher.java
deleted file mode 100644
index 8e93171..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/AntPublisher.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.jst.server.websphere.core;
-
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-
-public class AntPublisher extends org.eclipse.jst.server.generic.core.internal.publishers.AntPublisher {
-	public static final String PUBLISHER_ID="org.eclipse.jst.server.generic.websphere.antpublisher"; //$NON-NLS-1$
-
-	protected void setupAntLaunchConfiguration(ILaunchConfigurationWorkingCopy wc) {
-		String wasProfile = (String)this.getServerRuntime().getServerInstanceProperties().get("wasProfile");
-		wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,"-Duser.install.root="+wasProfile);
-
-	}
-}
diff --git a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java b/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java
deleted file mode 100644
index ad61369..0000000
--- a/plugins/org.eclipse.jst.server.websphere.core/src/org/eclipse/jst/server/websphere/core/CorePlugin.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.jst.server.websphere.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Plugin;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class CorePlugin extends Plugin {
-	//The shared instance.
-	private static CorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public CorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	
-	/**
-	 * Returns the shared instance.
-	 */
-	public static CorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = CorePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.jst.server.websphere.core.CorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
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
index 546e393..19877e0 100644
--- a/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.internet.monitor.core/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.internet.monitor.core; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.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,3.3.0)"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"
 Eclipse-LazyStart: true
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
index ba4f34f..fc78cb4 100644
--- 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
@@ -22,7 +22,7 @@
 
 	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];
 
 	/**
@@ -48,7 +48,7 @@
 		else
 			return getRequestContent();
 	}
-	
+
 	/**
 	 * @see Request#getResponse(int)
 	 */
@@ -60,35 +60,35 @@
 		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);
 	}
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
index e2650d1..cde0415 100644
--- 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
@@ -622,7 +622,7 @@
 		}
 		Trace.trace(Trace.PARSING, "Done notifying request " + this);
 	}
-	
+
 	protected void setHTTPHeader(Request rr) {
 		if (isRequest) {
 			byte[] b = rr.getRequest(Request.ALL);
@@ -636,7 +636,7 @@
 			rr.setProperty(HTTPRequest.HTTP_RESPONSE_HEADER, h);
 		}
 	}
-	
+
 	protected void setHTTPBody(byte[] b) {
 		Request rr = conn.getRequestResponse(isRequest);
 		if (isRequest)
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
index e53cb9a..d0e127f 100644
--- 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
@@ -228,6 +228,7 @@
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Could not add property", e);
 		}
+		monitor.requestChanged(this);
 	}
 
 	/**
@@ -275,12 +276,12 @@
 	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);
@@ -297,7 +298,7 @@
 	protected void setRequest(byte[] request) {
 		if (request == null || request.length == 0)
 			return;
-	
+		
 		this.request = request;
 		monitor.requestChanged(this);
 	}
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
index a903e70..107a3bf 100644
--- a/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.wst.internet.monitor.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.internet.monitor.ui; singleton:=true
-Bundle-Version: 1.0.102.qualifier
+Bundle-Version: 1.0.103.qualifier
 Bundle-Activator: org.eclipse.wst.internet.monitor.ui.internal.MonitorUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -10,8 +10,8 @@
  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,3.3.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.102,1.1.0)"
+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
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
index 897aaa5..19e0e9b 100644
--- 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
@@ -15,6 +15,7 @@
 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;
@@ -29,11 +30,13 @@
  */
 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;
@@ -51,19 +54,19 @@
 	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);
@@ -244,7 +247,38 @@
 		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.
@@ -255,7 +289,7 @@
 	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();
@@ -274,7 +308,7 @@
 		
 		return sb.toString();
 	}
-	
+
 	public void addRequest(Request request) {
 		if (!requests.contains(request))
 			requests.add(request);
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
index 67486c5..5e5fa0d 100644
--- 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
@@ -157,14 +157,14 @@
 		// 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) {
+			if (displayHeaderInf)
 				reqHeader.setEditable(true);
-			}
+			
 			reqViewer.setEditable(true);
 		} else {
-			if (displayHeaderInf) {
+			if (displayHeaderInf)
 				reqHeader.setEditable(false);
-			}
+			
 			reqViewer.setEditable(false);
 		}
 	}
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
index 4cdfd84..e6dcfb5 100644
--- 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
@@ -15,11 +15,15 @@
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
 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;
@@ -40,21 +44,25 @@
 		if (b == null || b.length == 0) {
 			browser.setText(Messages.htmlViewInvalid);
 		} else {
-			byte cr = '\r';
-			byte lf = '\n';
+			b = MonitorUIPlugin.unzip(b);
+			
 			int trimFront = 0;
 			int trimBack = 0;
 			int len = b.length - 1;
-			while (b[trimFront] == cr || b[trimFront] == lf)
+			while (trimFront < b.length && (b[trimFront] == CR || b[trimFront] == LF))
 				trimFront++;
-			while (b[len - trimBack] == cr || b[len - trimBack] == lf)
+			while (trimBack < b.length && b.length > 0 && (b[len - trimBack] == CR || b[len - trimBack] == LF))
 				trimBack++;
-				
+			
 			if (trimFront + trimBack > 0) {
-				byte[] temp = b;
-				b = new byte[temp.length - trimBack - trimFront];
-				for (int i = trimFront; i < temp.length - trimBack; i++) {
-					b[i - trimFront] = temp[i];
+				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));
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
index 30377dd..46f25a4 100644
--- 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
@@ -9,7 +9,7 @@
  *     IBM Corporation - Initial API and implementation
  *******************************************************************************/
 package org.eclipse.wst.internet.monitor.ui.internal.viewers;
- 
+
 import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -38,7 +38,7 @@
 		text.setFont(JFaceResources.getTextFont());
 		PlatformUI.getWorkbench().getHelpSystem().setHelp(text, ContextIds.VIEW_RESPONSE);
 	}
-	
+
 	/** (non-Javadoc)
 	 * @see ContentViewer#setEditable(boolean)
 	 */
@@ -50,15 +50,15 @@
 	 * @see ContentViewer#getContent()
 	 */
 	public byte[] getContent() {
-		if (text == null) {
+		if (text == null)
 			return new byte[0];
-		}
+		
 		String content = text.getText().trim();
-		if (content.equals("")) {
+		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.
+		
+		// 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];
@@ -72,9 +72,11 @@
 	 */
 	public void setContent(byte[] b) {
 		String out = "";
-		if (b != null)
+		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) {
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
index f8618ed..60c1e46 100644
--- 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
@@ -19,11 +19,15 @@
 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 Label messageLabel;
 	
 	protected byte[] content;
@@ -36,7 +40,7 @@
 		messageLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
 		messageLabel.setText(Messages.imageViewInvalid);
 	}
-	
+
 	/** (non-Javadoc)
 	 * @see ContentViewer#setContent(byte[])
 	 */
@@ -45,23 +49,28 @@
 		if (b == null || b.length == 0) {
 			messageLabel.setImage(null);
 		} else {
-			byte cr = '\r';
-			byte lf = '\n';
+			b = MonitorUIPlugin.unzip(b);
+			
 			int trimFront = 0;
 			int trimBack = 0;
 			int len = b.length - 1;
-			while (b[trimFront] == cr || b[trimFront] == lf)
+			while (trimFront < b.length && b[trimFront] == CR || b[trimFront] == LF)
 				trimFront++;
-			while (b[len - trimBack] == cr || b[len - trimBack] == lf)
+			while (trimBack < b.length && b[len - trimBack] == CR || b[len - trimBack] == LF)
 				trimBack++;
-				
+			
 			if (trimFront + trimBack > 0) {
-				byte[] temp = b;
-				b = new byte[temp.length - trimBack - trimFront];
-				for (int i = trimFront; i < temp.length - trimBack; i++) {
-					b[i - trimFront] = temp[i];
+				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);
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
index 9113d1c..c46603f 100644
--- 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
@@ -59,10 +59,12 @@
 	 */
 	public void setContent(byte[] b) {
 		content = b;
-		String out = "";		
-		if (b != null)
+		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) {
diff --git a/plugins/org.eclipse.wst.server.core/.options b/plugins/org.eclipse.wst.server.core/.options
index 6b73658..3812a2f 100644
--- a/plugins/org.eclipse.wst.server.core/.options
+++ b/plugins/org.eclipse.wst.server.core/.options
@@ -3,5 +3,14 @@
 # Turn on general debugging
 org.eclipse.wst.server.core/debug=true
 
-# Prints out values
+# Tracking of server resources
 org.eclipse.wst.server.core/resources=false
+
+# Loading of extension points
+org.eclipse.wst.server.core/extension_point=false
+
+# Server listeners
+org.eclipse.wst.server.core/listeners=false
+
+# Performance of loading and calling delegates
+org.eclipse.wst.server.core/performance=false
diff --git a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
index cb2d033..50c6fc0 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.102.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -11,9 +11,9 @@
  org.eclipse.wst.server.core.internal.provisional;x-internal:=true,
  org.eclipse.wst.server.core.model,
  org.eclipse.wst.server.core.util
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,3.3.0)"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.debug.core;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.update.core;resolution:=optional;bundle-version="[3.2.0,4.0.0)"
 Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd b/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
index 692ffb6..20802b3 100644
--- a/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/installableRuntimes.exsd
@@ -77,7 +77,7 @@
                </documentation>
             </annotation>
          </attribute>
-         <attribute name="bundleId" type="string" use="required">
+         <attribute name="bundleId" type="string">
             <annotation>
                <documentation>
                   the id of the bundle in which the runtime zip is in
@@ -94,7 +94,7 @@
          <attribute name="path" type="string" use="required">
             <annotation>
                <documentation>
-                  the relative path of the runtime zip inside the bundle
+                  if bundleId is specified then represents the relative path of the runtime zip inside the bundle, otherwise it assumes a relative path of the runtime archive inside the feature directory
                </documentation>
             </annotation>
          </attribute>
@@ -129,6 +129,33 @@
             path=&quot;/zips/myRuntime.zip&quot;/&gt;
    &lt;/extension&gt;
 &lt;/pre&gt;
+
+The following is an example of using the installable runtime extension point but having the runtime archive as a data archive in the feature.
+
+&lt;pre&gt;
+   &lt;extension 
+         point=&quot;org.eclipse.wst.server.core.installableRuntimes&quot;&gt;
+      &lt;installableRuntime
+            id=&quot;com.myruntime.id&quot;
+            featureVersion=&quot;1.0.0&quot;
+            featureId=&quot;com.myfeature&quot;
+            featureSite=&quot;xyz&quot;
+            path=&quot;myRuntime-1.0.zip&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+
+In the feature manifest and data entry should be entered for the runtime archive as well as an installhandler. The default install handler can be used which will install the data archive inside the feature.
+
+&lt;data
+    id=&quot;myRuntime-1.0.zip&quot;
+    download-size=&quot;0&quot;
+    install-size=&quot;0&quot;/&gt;
+
+&lt;install-handler handler=&quot;org.eclipse.update.core.DefaultInstallHandler&quot;/&gt;
+
+If the runtime archive is not packaged within the feature, then you need to map the archive path to a relative or absolute url to the site.xml
+
+&lt;archive path=&quot;features/com.myfeature_1.0.0/myRuntime-1.0.zip&quot; url=&quot;../../1.0/myRuntime-1.0.zip&quot;/&gt;
       </documentation>
    </annotation>
 
diff --git a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd b/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
index 29e23f8..13f4961 100644
--- a/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
+++ b/plugins/org.eclipse.wst.server.core/schema/runtimeTargetHandlers.exsd
@@ -7,6 +7,8 @@
       </appInfo>

       <documentation>

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

+

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

       </documentation>

    </annotation>

 

diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
index ecf1895..30562d2 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/IServerAttributes.java
@@ -318,17 +318,18 @@
 	 * project can run on a server, this method will be used to find the actual
 	 * module(s) that may be run on the server. For instance, a Web module may
 	 * return a list of EAR modules that it is contained in if the server only
-	 * supports configuring EAR modules.
-	 *
-	 * <p>If the module type is not supported, this method will return null.
-	 * If the type is normally supported but there is a configuration
-	 * problem or missing parent, etc., this method will fire a CoreException
-	 * that may then be presented to the user.</p>
-	 *
+	 * supports configuring EAR modules. If the server supports running a module
+	 * directly, the returned array should contain the module.
+	 * 
+	 * <p>If the module type is not supported, this method will return null or
+	 * an empty array. If the type is normally supported but there is a
+	 * configuration problem or missing parent, etc., this method will fire a
+	 * CoreException that may then be presented to the user.</p>
+	 * 
 	 * <p>If it does return valid parent(s), this method will always return
 	 * the topmost parent module(s), even if there are a few levels
 	 * (a heirarchy) of modules.</p>
-	 *
+	 * 
 	 * @param module a module
 	 * @param monitor a progress monitor, or <code>null</code> if progress
 	 *    reporting and cancellation are not desired
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 92b4c6e..780562c 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
@@ -35,15 +35,20 @@
 	}
 
 	/**
-	 * Returns the project modules attached to a project.
+	 * Returns the module contained within the given project. If more than one module
+	 * is contained with the project, this method will return an arbitrary module
+	 * unless the module factory defines an ordering. If there might be multiple
+	 * modules in a project, users should typically use getModules(IProject) instead.
 	 * 
 	 * @param project a project
-	 * @return a possibly empty array of modules
+	 * @return a module that is contained with the project, or null if no
+	 *    modules are contained in the given project
+	 * @see #getModules(IProject)
 	 */
 	public static IModule getModule(IProject project) {
 		if (project == null)
 			throw new IllegalArgumentException();
-
+		
 		IModule[] modules = getModules();
 		if (modules != null) {
 			int size = modules.length;
@@ -56,6 +61,31 @@
 	}
 
 	/**
+	 * Returns the modules contained within the given project.
+	 * 
+	 * @param project a project
+	 * @return a possibly-empty array of modules
+	 * @see #getModule(IProject)
+	 */
+	public static IModule[] getModules(IProject project) {
+		if (project == null)
+			throw new IllegalArgumentException();
+		
+		IModule[] modules = getModules();
+		List list = new ArrayList();
+		if (modules != null) {
+			int size = modules.length;
+			for (int i = 0; i < size; i++) {
+				if (modules[i] != null && project.equals(modules[i].getProject()))
+					list.add(modules[i]);
+			}
+		}
+		IModule[] modules2 = new IModule[list.size()];
+		list.toArray(modules2);
+		return modules2;
+	}
+
+	/**
 	 * Returns a module from the given moduleId. The moduleId must not be null.
 	 * 
 	 * @param moduleId a module id
@@ -109,7 +139,7 @@
 		list.toArray(modules);
 		return modules;
 	}
-	
+
 	/**
 	 * Return all the available modules from all factories whose
 	 * type matches the given module type id.
@@ -139,18 +169,23 @@
 		list.toArray(modules);
 		return modules;
 	}
-	
+
 	/**
 	 * Returns <code>true</code> if any of the given moduleTypes have the given
 	 * module type id and version id.
 	 * 
 	 * @param moduleTypes an array of module types
-	 * @param typeId a module type
-	 * @param versionId a module version
+	 * @param typeId a module type id, or null for any module type
+	 * @param versionId a module version, or null for any version
 	 * @return <code>true</code> if the module type is supported, and
 	 *    <code>false</code> otherwise
 	 */
 	public static boolean isSupportedModule(IModuleType[] moduleTypes, String typeId, String versionId) {
+		if ("".equals(typeId))
+			typeId = null;
+		if ("".equals(versionId))
+			versionId = null;
+		
 		if (moduleTypes != null) {
 			int size = moduleTypes.length;
 			for (int i = 0; i < size; i++) {
@@ -177,11 +212,14 @@
 	 * module type.
 	 * 
 	 * @param moduleTypes an array of modules types
-	 * @param mt a module type
+	 * @param mt a module type, may not be null
 	 * @return <code>true</code> if the module type is supported, and
 	 *    <code>false</code> otherwise
 	 */
 	public static boolean isSupportedModule(IModuleType[] moduleTypes, IModuleType mt) {
+		if (mt == null)
+			throw new IllegalArgumentException();
+		
 		if (moduleTypes != null) {
 			int size = moduleTypes.length;
 			for (int i = 0; i < size; i++) {
@@ -291,15 +329,12 @@
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(add[i], monitor);
-				if (parents != null) {
+				if (parents != null && parents.length > 0) {				
+					Object parent = parents[0];
 					found = true;
-					if (parents.length > 0) {				
-						Object parent = parents[0];
-						found = true;
-						if (!addParentModules.contains(parent))
-							addParentModules.add(parent);
-					}
-				} 
+					if (!addParentModules.contains(parent))
+						addParentModules.add(parent);
+				}
 			} catch (Exception e) {
 				Trace.trace(Trace.WARNING, "Could not find parent module", e);
 			}
@@ -314,15 +349,12 @@
 			boolean found = false;
 			try {
 				IModule[] parents = server.getRootModules(remove[i], monitor);
-				if (parents != null) {
+				if (parents != null && parents.length > 0) {				
+					Object parent = parents[0];
 					found = true;
-					if (parents.length > 0) {				
-						Object parent = parents[0];
-						found = true;
-						if (!removeParentModules.contains(parent))
-							removeParentModules.add(parent);
-					}
-				} 
+					if (!removeParentModules.contains(parent))
+						removeParentModules.add(parent);
+				}
 			} catch (Exception e) {
 				Trace.trace(Trace.WARNING, "Could not find parent module 2", e);
 			}
@@ -692,22 +724,19 @@
 			return false;
 		Trace.trace(Trace.FINEST, "containsModule() " + server + " " + module);
 		
-		class Helper {
-			boolean b;
-		}
-		final Helper h = new Helper();
-
+		final boolean[] b = new boolean[1];
+		
 		((Server)server).visit(new IModuleVisitor() {
 			public boolean visit(IModule[] modules) {
 				int size = modules.length;
 				if (modules[size - 1].equals(module)) {
-					h.b = true;
+					b[0] = true;
 					return false;
 				}
 				return true;
 			}
 		}, null);
-		return h.b;
+		return b[0];
 	}
 
 	/**
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 555a746..36ec2a7 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
@@ -11,6 +11,7 @@
 package org.eclipse.wst.server.core.internal;
 
 import java.io.BufferedInputStream;
+import java.io.File;
 import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.net.MalformedURLException;
@@ -108,10 +109,10 @@
 		String featureId = getFeatureId();
 		String featureVersion = getFeatureVersion();
 		String fromSite = getFromSite();
-
+		
 		if (featureId == null || featureVersion == null || fromSite == null)
 			return null;
-
+		
 		ISite site = InstallableRuntime.getSite(fromSite, monitor);
 		ISiteFeatureReference[] featureRefs = site.getFeatureReferences();
 		for (int i = 0; i < featureRefs.length; i++) {
@@ -210,9 +211,15 @@
 		ISite site = getSite(fromSite, monitor);
 		fromSite = getMirror(fromSite, site);
 		
+		boolean install = false;
+		if (getBundleId() != null) {
+			install = Platform.getBundles(getBundleId(), getBundleVersion()) == null;
+		} else if (getPath() != null) {
+			install = !new File(getFeatureArchivePath()).exists();
+		}
+		
 		// download and install plugins
-		Bundle bundles[] = Platform.getBundles(getBundleId(), getBundleVersion());
-		if (bundles == null) {
+		if (install) {
 			try {
 				monitor.setTaskName("Installing feature");
 				InstallCommand command = new InstallCommand(featureId, featureVersion, fromSite, null, "false");
@@ -228,17 +235,24 @@
 			}
 		}
 		
-		// unzip from bundle into path
 		try {
-			byte[] buf = new byte[8192];
-			bundles = Platform.getBundles(getBundleId(), getBundleVersion());
-			Bundle bundle = getBundleVersion(bundles, getBundleVersion());
-			URL url = bundle.getEntry(getPath());
-			url = FileLocator.resolve(url);
+			URL url = null;
+			if (getBundleId() != null) {
+				Bundle[] bundles = Platform.getBundles(getBundleId(), getBundleVersion());
+				Bundle bundle = getBundleVersion(bundles, getBundleVersion());
+				url = bundle.getEntry(getPath());
+				url = FileLocator.resolve(url);
+			} else {
+				// data archive used so get the url of the runtime archive from inside the feature
+				url = new File(getFeatureArchivePath()).toURL();
+			}
+			
+			// unzip from bundle into path
 			InputStream in = url.openStream();
 			BufferedInputStream bin = new BufferedInputStream(in);
 			ZipInputStream zin = new ZipInputStream(bin);
 			ZipEntry entry = zin.getNextEntry();
+			byte[] buf = new byte[8192];
 			while (entry != null) {
 				String name = entry.getName();
 				monitor.setTaskName("Unzipping: " + name);
@@ -264,6 +278,12 @@
 		} 
 	}
 
+	private String getFeatureArchivePath() {
+		String feature = getFeatureId() + "_" + getFeatureVersion();
+		String platformLoc = Platform.getInstallLocation().getURL().getFile();
+		return platformLoc.concat(File.separator + Site.DEFAULT_INSTALLED_FEATURE_PATH + feature + File.separator + getPath());
+	}
+
 	public String toString() {
 		return "InstallableRuntime[" + getId() + "]";
 	}
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 f8349b2..04c0b41 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
@@ -14,15 +14,14 @@
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PluginVersionIdentifier;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.update.core.IFeature;
 import org.eclipse.update.core.ISite;
 import org.eclipse.update.core.ISiteFeatureReference;
 import org.eclipse.update.core.IURLEntry;
-import org.eclipse.update.core.VersionedIdentifier;
 import org.eclipse.update.standalone.InstallCommand;
+import org.osgi.framework.Version;
 /**
  * 
  */
@@ -180,18 +179,14 @@
 	}
 
 	public static String getLatestVersion(ISite site, String version, String featureId) {
-		String latestVersion = null;
-		
+		Version latestVersion = new Version(version);
 		try {
-			PluginVersionIdentifier pvi = new PluginVersionIdentifier(version);
 			ISiteFeatureReference[] features = site.getFeatureReferences();
-			
 			for (int i = 0; i < features.length; i++) {
 				if (features[i].getName().equals(featureId)) {
-					VersionedIdentifier vi = features[i].getVersionedIdentifier();
-					if (vi.getVersion().isGreaterThan(pvi)) {
-						latestVersion = vi.getIdentifier();
-						pvi = new PluginVersionIdentifier(latestVersion);
+					Version nextCand = new Version(features[i].getVersionedIdentifier().getVersion().toString());
+					if (nextCand.compareTo(latestVersion) > 0) {
+						latestVersion = nextCand;
 					}
 				}
 			}
@@ -199,9 +194,7 @@
 			Trace.trace(Trace.SEVERE, "Error searching for latest feature version", e);
 		}
 		
-		if (latestVersion == null)
-			return version;
-		return latestVersion;
+		return latestVersion.toString();
 	}
 
 	public String toString() {
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 998e355..9df6522 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
@@ -39,7 +39,6 @@
 	public static String errorPublishNoRuntime;
 	public static String errorPublishNoConfiguration;
 	public static String errorNoConfiguration;
-	public static String canPublishOk;
 	public static String publishingStatusOk;
 	public static String publishingStatusInfo;
 	public static String publishingStatusWarning;
@@ -53,15 +52,11 @@
 	public static String errorModuleRestartFailed;
 	public static String errorInstallingServer;
 	public static String errorInstallingServerFeature;
-	public static String canRestartModuleOk;
 	public static String errorRestartModule;
 	public static String canStartErrorState;
 	public static String errorLaunchMode;
-	public static String canStartOk;
-	public static String canRestartOk;
 	public static String errorRestartNotStarted;
 	public static String errorStopAlreadyStopped;
-	public static String canStopOk;
 	public static String moduleTypeUnknown;
 	public static String jobStartingServer;
 	public static String jobRestartingServer;
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 5d9730a..8cd04e2 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
@@ -63,11 +63,6 @@
 defaultVersion=Basic
 moduleTypeUnknown=Unknown module
 
-canStartOk=The server can be started.
-canStopOk=The server can be stopped.
-canRestartOk=The server can be restarted.
-canPublishOk=The server can be published to.
-canRestartModuleOk=The module can be restarted.
 canStartErrorState=The server cannot be started because it is current starting or stopping.
 errorLaunchMode=The server does not support the given launch mode.
 errorRestartNotStarted=Cannot restart the server because it is not currently running.
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java
index b5e4586..7ee216f 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Module.java
@@ -27,6 +27,7 @@
 	protected String version;
 	protected IProject project;
 	protected ModuleDelegate delegate;
+	protected String id2;
 
 	/**
 	 * Module constructor.
@@ -46,6 +47,11 @@
 		this.version = version;
 		this.id = id;
 		this.name = name;
+		if (factory != null)
+			id2 = factory.getId() + ":";
+		else
+			id2 = ":";
+		id2 += id;
 	}
 
 	/**
@@ -54,7 +60,7 @@
 	 * @return java.lang.String
 	 */
 	public String getId() {
-		return factory.getId() + ":" + id;
+		return id2;
 	}
 
 	/**
@@ -213,10 +219,10 @@
 			return false;
 		
 		IModule m = (IModule) obj;
-		if (!getId().equals(m.getId()))
+		if (!id2.equals(m.getId()))
 			return false;
-		//if (!project.equals(m.getProject()))
-		//	return false;
+		if (project != null && m.getProject() != null && !project.equals(m.getProject()))
+			return false;
 		//if (!getModuleType().equals(m.getModuleType()))
 		//	return false;
 		
@@ -224,7 +230,10 @@
 	}
 
 	public int hashCode() {
-		return getId().hashCode();
+		int result = id2.hashCode() + 17;
+		if (project != null)
+			result += project.hashCode() * 37;
+		return result;
 	}
 
 	/**
@@ -233,6 +242,6 @@
 	 * @return java.lang.String
 	 */
 	public String toString() {
-		return "Module[" + name + "," + getId() + "]";
+		return "Module[" + name + "," + id2 + "]";
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ModuleFactory.java
index 6bc1212..8eaaf83 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
@@ -148,7 +148,7 @@
 		modules.toArray(m);
 		return m;
 	}
-	
+
 	/**
 	 * Return a string representation of this object.
 	 * 
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 2277757..c1f4b1f 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
@@ -19,6 +19,7 @@
  * 
  */
 public class ModuleFolder implements IModuleFolder {
+	private static final IModuleResource[] EMPTY_RESOURCE_ARRAY = new IModuleResource[0];
 	protected IContainer container;
 	protected String name;
 	protected IPath path;
@@ -75,6 +76,8 @@
 	 * @see org.eclipse.wst.server.core.model.IModuleFolder#members()
 	 */
 	public IModuleResource[] members() {
+		if (members == null)
+			return EMPTY_RESOURCE_ARRAY;
 		return members;
 	}
 
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 b3024de..5499e73 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,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -47,8 +47,11 @@
 	 * @return org.eclipse.wst.server.core.internal.PublishInfo
 	 */
 	public static PublishInfo getInstance() {
-		if (instance == null)
-			instance = new PublishInfo();
+		if (instance == null) {
+			synchronized (PUBLISH_DIR) {
+				instance = new PublishInfo();
+			}
+		}
 		return instance;
 	}
 
@@ -78,39 +81,64 @@
 		File file = new File(path.toOSString());
 		if (!file.exists())
 			file.mkdir();
-
+		
 		file = null;
 		int i = 0;
 		String partialPath = null;
-		while (file == null || file.exists()) {
-			partialPath = "publish" + i + ".xml";
-			path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath);
-			if (serverIdToPath.get(partialPath) == null)
-				file = new File(path.toOSString());
-			i++;
+		ServerPublishInfo spi = null;
+		synchronized (PUBLISH_DIR) {
+			while (file == null || file.exists()) {
+				partialPath = "publish" + i + ".xml";
+				path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR).append(partialPath);
+				if (serverIdToPath.get(partialPath) == null)
+					file = new File(path.toOSString());
+				i++;
+			}
+			
+			spi = new ServerPublishInfo(path);
+			serverIdToPath.put(serverId, partialPath);
+			serverIdToPublishInfo.put(serverId, spi);
+			save();
 		}
-		
-		ServerPublishInfo spi = new ServerPublishInfo(path);
-		serverIdToPath.put(serverId, partialPath);
-		serverIdToPublishInfo.put(serverId, spi);
-		save();
 		return spi;
 	}
 
 	/**
+	 * Remove the server publish state.
+	 * 
+	 * @param server org.eclipse.wst.server.core.IServer
+	 */
+	public void removeServerPublishInfo(IServer server) {
+		IPath path = ServerPlugin.getInstance().getStateLocation().append(PUBLISH_DIR);
+		File file = new File(path.toOSString());
+		if (!file.exists())
+			return;
+		
+		String serverId = server.getId();
+		String path2 = (String) serverIdToPath.get(serverId);
+		synchronized (PUBLISH_DIR) {
+			serverIdToPath.remove(serverId);
+			serverIdToPublishInfo.remove(serverId);
+			save();
+		}
+		if (path2 != null)
+			path.append(path2).toFile().delete();
+	}
+
+	/**
 	 * 
 	 */
 	protected void load() {
 		Trace.trace(Trace.FINEST, "Loading publish info");
 		String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString();
-	
+		
 		try {
 			IMemento memento = XMLMemento.loadMemento(filename);
-	
+			
 			IMemento[] serverChild = memento.getChildren("server");
 			int size = serverChild.length;
 			serverIdToPath = new HashMap(size + 2);
-	
+			
 			for (int i = 0; i < size; i++) {
 				String id = serverChild[i].getString("id");
 				String partialPath = serverChild[i].getString("path");
@@ -126,20 +154,20 @@
 	 */
 	protected void save() {
 		String filename = ServerPlugin.getInstance().getStateLocation().append("publish.xml").toOSString();
-	
+		
 		try {
 			XMLMemento memento = XMLMemento.createWriteRoot("publish-info");
-	
+			
 			Iterator iterator = serverIdToPath.keySet().iterator();
 			while (iterator.hasNext()) {
 				String serverId = (String) iterator.next();
 				String partialPath = (String) serverIdToPath.get(serverId);
-	
+				
 				IMemento server = memento.createChild("server");
 				server.putString("id", serverId);
 				server.putString("path", partialPath);
 			}
-	
+			
 			memento.saveToFile(filename);
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Could not save global publish info", e);
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
index 4e9ea38..7e9c643 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/PublishServerJob.java
@@ -14,6 +14,7 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.ISchedulingRule;
 import org.eclipse.core.runtime.jobs.MultiRule;
 import org.eclipse.osgi.util.NLS;
@@ -127,21 +128,17 @@
 	}
 
 	/**
-	 * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-	 */
-	public boolean shouldRun() {
-		if (!super.shouldRun())
-			return false;
-		
-		if (!check)
-			return true;
-		return ServerPreferences.getInstance().isAutoPublishing() && ((Server)getServer()).shouldPublish();
-	}
-
-	/**
 	 * @see org.eclipse.core.runtime.jobs.Job#run(IProgressMonitor)
 	 */
 	protected IStatus run(IProgressMonitor monitor) {
+		if (check) {
+			// don't run if we're autopublishing and there is no need for a publish.
+			// can't execute this code in shouldRun() because it will cancel the job
+			// instead of returning immediately
+			if (!ServerPreferences.getInstance().isAutoPublishing() || !((Server)getServer()).shouldPublish())
+				return Status.OK_STATUS;
+		}
+		
 		return getServer().publish(kind, monitor);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ResourceManager.java
index 961cd16..f47347c 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
@@ -79,14 +79,18 @@
 
 		/**
 		 * Listen for projects being added or removed and act accordingly.
-		 *
+		 * 
 		 * @param event org.eclipse.core.resources.IResourceChangeEvent
 		 */
 		public void resourceChanged(IResourceChangeEvent event) {
 			IResourceDelta delta = event.getDelta();
 			if (delta == null)
 				return;
-	
+			
+			// ignore clean builds
+			if (event.getBuildKind() == IncrementalProjectBuilder.CLEAN_BUILD)
+				return;
+			
 			Trace.trace(Trace.RESOURCES, "->- ServerResourceChangeListener responding to resource change: " + event.getType() + " ->-");
 			IResourceDelta[] children = delta.getAffectedChildren();
 			if (children != null) {
@@ -189,13 +193,7 @@
 		
 		// keep track of future changes to the file system
 		resourceChangeListener = new ServerResourceChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
-		
-		/*configurationListener = new IServerConfigurationListener() {
-			public void childProjectChange(IServerConfiguration configuration) {
-				handleConfigurationChildProjectsChange(configuration);
-			}
-		};*/
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
 		
 		Trace.trace(Trace.FINER, "Loading workspace servers and server configurations");
 		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
@@ -381,11 +379,10 @@
 	protected void deregisterServer(IServer server) {
 		if (server == null)
 			return;
-
+		
 		Trace.trace(Trace.RESOURCES, "Deregistering server: " + server.getName());
 		
-		((Server) server).deleteLaunchConfigurations();
-		ServerPlugin.getInstance().removeTempDirectory(server.getId());
+		((Server) server).deleteMetadata();
 		
 		servers.remove(server);
 		fireServerEvent(server, EVENT_REMOVED);
@@ -939,14 +936,11 @@
 	 *    and <code>false</code> otherwise
 	 */
 	public static boolean deltaContainsChangedFiles(IResourceDelta delta) {
-		class Temp {
-			boolean b = false;
-		}
-		final Temp t = new Temp();
+		final boolean[] b = new boolean[1];
 		try {
 			delta.accept(new IResourceDeltaVisitor() {
 				public boolean visit(IResourceDelta delta2) throws CoreException {
-					if (t.b)
+					if (b[0])
 						return false;
 					//Trace.trace(Trace.FINEST, delta2.getResource() + "  " + delta2.getKind() + " " + delta2.getFlags());
 					if (delta2.getKind() == IResourceDelta.NO_CHANGE)
@@ -958,7 +952,7 @@
 							&& (delta2.getFlags() & IResourceDelta.SYNC) == 0)
 							return true;
 						//if (delta2.getKind() == IResourceDelta.CHANGED) { // && delta2.getAffectedChildren().length == 0) {
-						t.b = true;
+						b[0] = true;
 						return false;
 							//return true;
 						//}
@@ -970,7 +964,7 @@
 			// ignore
 		}
 		//Trace.trace(Trace.FINEST, "Delta contains change: " + t.b);
-		return t.b;
+		return b[0];
 	}
 
 	/**
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
index 10095ad..60d2321 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Runtime.java
@@ -148,9 +148,6 @@
 		runtimeType = wc.runtimeType;
 		file = wc.file;
 		delegate = wc.delegate;
-		
-		int timestamp = wc.getTimestamp();
-		map.put(PROP_TIMESTAMP, Integer.toString(timestamp+1));
 	}
 
 	protected void loadState(IMemento memento) {
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 28a3254..5aa34b0 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
@@ -171,6 +171,9 @@
 		if (!force && getOriginal() != null)
 			wch.validateTimestamp(((Runtime) getOriginal()).getTimestamp());
 		
+		int timestamp = getTimestamp();
+		map.put(PROP_TIMESTAMP, Integer.toString(timestamp+1));
+		
 		IRuntime origRuntime = runtime;
 		if (runtime == null)
 			runtime = new Runtime(file);
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 c3e10e4..bb3901b 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
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -14,6 +14,9 @@
 
 import org.eclipse.core.resources.*;
 import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.MultiRule;
 import org.eclipse.debug.core.*;
 
 import org.eclipse.osgi.util.NLS;
@@ -71,10 +74,10 @@
 
 	protected IRuntime runtime;
 	protected IFolder configuration;
-	
+
 	// the list of modules that are to be published to the server
 	protected List modules;
-	
+
 	// transient fields
 	protected transient String mode = ILaunchManager.RUN_MODE;
 	protected transient int serverState = STATE_UNKNOWN;
@@ -84,7 +87,7 @@
 	protected transient Map moduleState = new HashMap();
 	protected transient Map modulePublishState = new HashMap();
 	protected transient Map moduleRestartState = new HashMap();
-	
+
 	protected transient IStatus serverStatus;
 	protected transient Map moduleStatus = new HashMap();
 
@@ -134,6 +137,70 @@
 		}
 	}
 
+	public class ResourceChangeJob extends ChainedJob {
+		private IModule module;
+
+		public ResourceChangeJob(IModule module, IServer server) {
+			super(NLS.bind(Messages.jobUpdateServer, server.getName()), server);
+			this.module = module;
+			
+			if (module.getProject() == null)
+				setRule(new ServerSchedulingRule(server));
+			else {
+				ISchedulingRule[] rules = new ISchedulingRule[2];
+				IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
+				rules[0] = ruleFactory.createRule(module.getProject());
+				rules[1] = new ServerSchedulingRule(server);
+				setRule(MultiRule.combine(rules));
+			}
+		}
+
+		protected IModule getModule() {
+			return module;
+		}
+
+		protected IStatus run(IProgressMonitor monitor) {
+			final boolean[] changed = new boolean[1];
+			final List modules2 = new ArrayList();
+			
+			IModuleVisitor visitor = new IModuleVisitor() {
+				public boolean visit(IModule[] module2) {
+					modules2.add(module2);
+					
+					int size = module2.length;
+					IModule m = module2[size - 1];
+					if (m.getProject() == null)
+						return true;
+					
+					if (module.equals(m)) {
+						if (hasPublishedResourceDelta(module2)) {
+							changed[0] = true;
+							setModulePublishState(module2, IServer.PUBLISH_STATE_INCREMENTAL);
+						}
+					}
+					return true;
+				}
+			};
+			
+			visit(visitor, null);
+			
+			if (getServerPublishInfo().hasStructureChanged(modules2))
+				setServerPublishState(IServer.PUBLISH_STATE_INCREMENTAL);
+			
+			if (!changed[0])
+				//return;
+				return Status.OK_STATUS;
+			
+			if (getServerState() != IServer.STATE_STOPPED && behaviourDelegate != null)
+				behaviourDelegate.handleResourceChange();
+			
+			if (getServerState() == IServer.STATE_STARTED)
+				autoPublish();
+			
+			return Status.OK_STATUS;
+		}
+	};
+	
 	private static final Comparator PUBLISH_OPERATION_COMPARTOR = new Comparator() {
       public int compare(Object leftOp, Object rightOp) {
           PublishOperation left = (PublishOperation) leftOp;
@@ -261,7 +328,7 @@
 	public int getAutoPublishTime() {
 		return getAttribute(PROP_AUTO_PUBLISH_TIME, -1);
 	}
-	
+
 	public int getAutoPublishSetting() {
 		return getAttribute(PROP_AUTO_PUBLISH_SETTING, AUTO_PUBLISH_DEFAULT);
 	}
@@ -349,13 +416,21 @@
 	 */
 	protected void fireRestartStateChangeEvent() {
 		Trace.trace(Trace.LISTENERS, "->- Firing server restart change event: " + getName() + " ->-");
-	
+		
 		if (notificationManager == null || notificationManager.hasListenerEntries())
 			return;
-	
+		
 		notificationManager.broadcastChange(
 			new ServerEvent(ServerEvent.SERVER_CHANGE | ServerEvent.RESTART_STATE_CHANGE, this, getServerState(), 
 				getServerPublishState(), getServerRestartState()));
+		
+		if (getServerState() == IServer.STATE_STARTED && getServerRestartState() && ServerPreferences.getInstance().isAutoRestarting()) {
+			String mode = getMode();
+			if (canRestart(mode).isOK()) {
+				RestartServerJob job = new RestartServerJob(this, mode);
+				job.schedule();
+			}
+		}
 	}
 
 	/**
@@ -425,6 +500,10 @@
 	public void setModuleState(IModule[] module, int state) {
 		if (module == null)
 			throw new IllegalArgumentException("Module cannot be null");
+		int oldState = getModuleState(module);
+		if (oldState == state)
+			return;
+		
 		Integer in = new Integer(state);
 		moduleState.put(getKey(module), in);
 		fireModuleStateChangeEvent(module);
@@ -433,6 +512,10 @@
 	public void setModulePublishState(IModule[] module, int state) {
 		if (module == null)
 			throw new IllegalArgumentException("Module cannot be null");
+		int oldState = getModulePublishState(module);
+		if (oldState == state)
+			return;
+		
 		Integer in = new Integer(state);
 		if (state == -1)
 			modulePublishState.remove(getKey(module));
@@ -443,53 +526,35 @@
 	public void setModuleRestartState(IModule[] module, boolean r) {
 		if (module == null)
 			throw new IllegalArgumentException("Module cannot be null");
+		boolean oldState = getModuleRestartState(module);
+		if (oldState == r)
+			return;
+		
 		Boolean b = new Boolean(r);
 		moduleState.put(getKey(module), b);
 		fireModuleRestartChangeEvent(module);
 	}
 
-	protected void handleModuleProjectChange(final IModule module) {
+	protected void handleModuleProjectChange(IModule module) {
 		Trace.trace(Trace.FINEST, "> handleDeployableProjectChange() " + this + " " + module);
 		
-		class Helper {
-			boolean changed;
-		}
-		final Helper helper = new Helper();
-		
-		final List modules2 = new ArrayList();
-		
-		IModuleVisitor visitor = new IModuleVisitor() {
-			public boolean visit(IModule[] module2) {
-				modules2.add(module2);
-				
-				int size = module2.length;
-				IModule m = module2[size - 1];
-				if (m.getProject() == null)
-					return true;
-				
-				if (module.equals(m)) {
-					if (hasPublishedResourceDelta(module2)) {
-						helper.changed = true;
-						setModulePublishState(module2, IServer.PUBLISH_STATE_INCREMENTAL);
-					}
+		// check for duplicate jobs already waiting and don't create a new one
+		Job[] jobs = Platform.getJobManager().find(ServerPlugin.PLUGIN_ID);
+		if (jobs != null) {
+			int size = jobs.length;
+			for (int i = 0; i < size; i++) {
+				if (jobs[i] instanceof ResourceChangeJob) {
+					ResourceChangeJob rcj = (ResourceChangeJob) jobs[i];
+					if (rcj.getServer().equals(this) && rcj.getModule().equals(module) && rcj.getState() == Job.WAITING)
+						return;
 				}
-				return true;
 			}
-		};
+		}
 		
-		visit(visitor, null);
-		
-		if (getServerPublishInfo().hasStructureChanged(modules2))
-			setServerPublishState(IServer.PUBLISH_STATE_INCREMENTAL);
-		
-		if (!helper.changed)
-			return;
-		
-		if (getServerState() != IServer.STATE_STOPPED && behaviourDelegate != null)
-			behaviourDelegate.handleResourceChange();
-		
-		if (getServerState() == IServer.STATE_STARTED)
-			autoPublish();
+		ResourceChangeJob job = new ResourceChangeJob(module, this);
+		job.setSystem(true);
+		job.setPriority(Job.BUILD);
+		job.schedule();
 		
 		Trace.trace(Trace.FINEST, "< handleDeployableProjectChange()");
 	}
@@ -706,22 +771,19 @@
 		if (getServerPublishState() != PUBLISH_STATE_NONE)
 			return true;
 		
-		class Temp {
-			boolean publish;
-		}
-		final Temp temp = new Temp();
+		final boolean[] publish = new boolean[1];
 		
 		visit(new IModuleVisitor() {
 			public boolean visit(IModule[] module) {
 				if (getModulePublishState(module) != PUBLISH_STATE_NONE) {
-					temp.publish = true;
+					publish[0] = true;
 					return false;
 				}
 				return true;
 			}
 		}, null);
 		
-		return temp.publish;
+		return publish[0];
 	}
 
 	/**
@@ -738,22 +800,19 @@
 		if (getServerRestartState())
 			return true;
 		
-		class Temp {
-			boolean publish;
-		}
-		final Temp temp = new Temp();
+		final boolean[] publish = new boolean[1];
 		
 		visit(new IModuleVisitor() {
 			public boolean visit(IModule[] module) {
 				if (getModuleRestartState(module)) {
-					temp.publish = true;
+					publish[0] = true;
 					return false;
 				}
 				return true;
 			}
 		}, null);
 		
-		return temp.publish;
+		return publish[0];
 	}
 
 	public ServerPublishInfo getServerPublishInfo() {
@@ -813,7 +872,7 @@
 				}
 			}, monitor);
 			
-			getServerPublishInfo().removeDeletedModulePublishInfo(modules2);
+			getServerPublishInfo().removeDeletedModulePublishInfo(this, modules2);
 			getServerPublishInfo().clearCache();
 			getServerPublishInfo().save();
 			
@@ -881,7 +940,7 @@
 		
 		return (PublishOperation[]) tasks.toArray(new PublishOperation[tasks.size()]);
 	}
-	
+
 	/**
 	 * Returns all publish tasks that have been targetted to this server type.
 	 * The tasks will not be initialized with a task model. 
@@ -1095,10 +1154,34 @@
 				try {
 					String serverId = launchConfigs[i].getAttribute(SERVER_ID, (String) null);
 					if (getId().equals(serverId)) {
-						ILaunchConfigurationWorkingCopy wc = launchConfigs[i].getWorkingCopy();
+						final ILaunchConfigurationWorkingCopy wc = launchConfigs[i].getWorkingCopy();
 						setupLaunchConfiguration(wc, monitor);
-						if (wc.isDirty())
-							return wc.doSave();
+						if (wc.isDirty()) {
+							final ILaunchConfiguration[] lc = new ILaunchConfiguration[1];
+							Job job = new Job("Saving launch configuration") {
+								protected IStatus run(IProgressMonitor monitor) {
+									try {
+										lc[0] = wc.doSave();
+									} catch (CoreException ce) {
+										Trace.trace(Trace.SEVERE, "Error configuring launch", ce);
+									}
+									return Status.OK_STATUS;
+								}
+							};
+							job.setSystem(true);
+							job.schedule();
+							try {
+								job.join();
+							} catch (Exception e) {
+								Trace.trace(Trace.SEVERE, "Error configuring launch", e);
+							}
+							if (job.getState() != Job.NONE) {
+								job.cancel();
+								lc[0] = wc.doSave();
+							}
+							
+							return lc[0];
+						}
 						return launchConfigs[i];
 					}
 				} catch (CoreException e) {
@@ -1135,6 +1218,9 @@
 	public void start(String mode2, IProgressMonitor monitor) throws CoreException {
 		Trace.trace(Trace.FINEST, "Starting server: " + toString() + ", launchMode: " + mode2);
 	
+		// make sure that the delegate is loaded and the server state is correct
+		loadAdapter(ServerBehaviourDelegate.class, monitor);
+		
 		try {
 			ILaunchConfiguration launchConfig = getLaunchConfiguration(true, monitor);
 			ILaunch launch = launchConfig.launch(mode2, monitor); // , true); - causes workspace lock
@@ -1146,6 +1232,16 @@
 	}
 
 	/**
+	 * Clean up any metadata associated with the server, typically in preparation for
+	 * deletion.
+	 */
+	protected void deleteMetadata() {
+		deleteLaunchConfigurations();
+		ServerPlugin.getInstance().removeTempDirectory(getId());
+		PublishInfo.getInstance().removeServerPublishInfo(this);
+	}
+
+	/**
 	 * Clean up any old launch configurations with the current server's id.
 	 */
 	protected void deleteLaunchConfigurations() {
@@ -1290,7 +1386,10 @@
 	public IStatus canStop() {
 		if (getServerState() == STATE_STOPPED)
 			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorStopAlreadyStopped, null);
-
+		
+		if (getServerType() != null && !getServerType().supportsLaunchMode(getMode()))
+			return new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, Messages.errorLaunchMode, null);
+		
 		return Status.OK_STATUS;
 	}
 
@@ -1316,7 +1415,10 @@
 	public void start(String mode2, IOperationListener listener2) {
 		Trace.trace(Trace.FINEST, "synchronousStart 1");
 		final Object mutex = new Object();
-	
+		
+		// make sure that the delegate is loaded and the server state is correct
+		loadAdapter(ServerBehaviourDelegate.class, null);
+		
 		// add listener to the server
 		IServerListener listener = new IServerListener() {
 			public void serverChanged(ServerEvent event) {
@@ -1340,47 +1442,57 @@
 		};
 		addServerListener(listener);
 		
-		final int serverTimeout = ((ServerType) getServerType()).getStartTimeout();
 		class Timer {
 			boolean timeout;
 			boolean alreadyDone;
 		}
 		final Timer timer = new Timer();
-			
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(serverTimeout);
-					if (!timer.alreadyDone) {
-						timer.timeout = true;
-						// notify waiter
-						synchronized (mutex) {
-							Trace.trace(Trace.FINEST, "synchronousStart notify timeout");
-							mutex.notifyAll();
+		
+		final int serverTimeout = ((ServerType) getServerType()).getStartTimeout();
+		if (serverTimeout > 0) {
+			Thread thread = new Thread("Server start timeout") {
+				public void run() {
+					try {
+						Thread.sleep(serverTimeout);
+						if (!timer.alreadyDone) {
+							// notify waiter
+							synchronized (mutex) {
+								Trace.trace(Trace.FINEST, "start notify timeout");
+								if (!timer.alreadyDone)
+									timer.timeout = true;
+								mutex.notifyAll();
+							}
 						}
+					} catch (Exception e) {
+						Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e);
 					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying server start timeout", e);
 				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
+			};
+			thread.setDaemon(true);
+			thread.start();
+		}
 		
 		Trace.trace(Trace.FINEST, "synchronousStart 2");
-	
+		
 		// start the server
+		IProgressMonitor monitor = new NullProgressMonitor();
 		try {
-			start(mode2, (IProgressMonitor)null);
+			start(mode2, monitor);
 		} catch (CoreException e) {
 			removeServerListener(listener);
 			timer.alreadyDone = true;
 			listener2.done(e.getStatus());
 			return;
 		}
-	
+		if (monitor.isCanceled()) {
+			removeServerListener(listener);
+			timer.alreadyDone = true;
+			listener2.done(Status.CANCEL_STATUS);
+			return;
+		}
+		
 		Trace.trace(Trace.FINEST, "synchronousStart 3");
-	
+		
 		// wait for it! wait for it! ...
 		synchronized (mutex) {
 			try {
@@ -1389,21 +1501,21 @@
 			} catch (Exception e) {
 				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
 			}
+			timer.alreadyDone = true;
 		}
 		removeServerListener(listener);
-		timer.alreadyDone = true;
 		
 		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;
 		}
-		timer.alreadyDone = true;
 		
 		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);
 	}
@@ -1411,11 +1523,11 @@
 	public void synchronousStart(String mode2, IProgressMonitor monitor) throws CoreException {
 		Trace.trace(Trace.FINEST, "synchronousStart 1");
 		
-		class Mutex {
-			boolean notified;
-		}
-		final Mutex mutex = new Mutex();
-	
+		// make sure that the delegate is loaded and the server state is correct
+		loadAdapter(ServerBehaviourDelegate.class, monitor);
+		
+		final boolean[] notified = new boolean[1];
+		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		
 		// add listener to the server
@@ -1427,11 +1539,11 @@
 					int state = server.getServerState();
 					if (state == IServer.STATE_STARTED || state == IServer.STATE_STOPPED) {
 						// notify waiter
-						synchronized (mutex) {
+						synchronized (notified) {
 							try {
 								Trace.trace(Trace.FINEST, "synchronousStart notify");
-								mutex.notified = true;
-								mutex.notifyAll();
+								notified[0] = true;
+								notified.notifyAll();
 							} catch (Exception e) {
 								Trace.trace(Trace.SEVERE, "Error notifying server start", e);
 							}
@@ -1454,30 +1566,34 @@
 			public void run() {
 				try {
 					int totalTimeout = serverTimeout;
+					if (totalTimeout < 0)
+						totalTimeout = 1;
 					boolean userCancelled = false;
 					int retryPeriod = 2500;
-					while (!mutex.notified && totalTimeout > 0 && !userCancelled && !timer.alreadyDone) {
+					while (!notified[0] && totalTimeout > 0 && !userCancelled && !timer.alreadyDone) {
 						Thread.sleep(retryPeriod);
-						totalTimeout -= retryPeriod;
-						if (!mutex.notified && monitor2.isCanceled()) {
+						if (serverTimeout > 0)
+							totalTimeout -= retryPeriod;
+						if (!notified[0] && !timer.alreadyDone && monitor2.isCanceled()) {
 							// user cancelled - set the server state to stopped
 							userCancelled = true;
 							setServerState(IServer.STATE_STOPPED);
 							// notify waiter
-							synchronized (mutex) {
+							synchronized (notified) {
 								Trace.trace(Trace.FINEST, "synchronousStart user cancelled.");
-								mutex.notified = true;
-								mutex.notifyAll();
+								notified[0] = true;
+								notified.notifyAll();
 							}
 						}
 					}
-					if (!userCancelled && !timer.alreadyDone) {
-						timer.timeout = true;
+					if (!userCancelled && !timer.alreadyDone && !notified[0]) {
 						// notify waiter
-						synchronized (mutex) {
+						synchronized (notified) {
 							Trace.trace(Trace.FINEST, "synchronousStart notify timeout");
-							mutex.notified = true;
-							mutex.notifyAll();
+							if (!timer.alreadyDone && totalTimeout < 0)
+								timer.timeout = true;
+							notified[0] = true;
+							notified.notifyAll();
 						}
 					}
 				} catch (Exception e) {
@@ -1498,29 +1614,36 @@
 			timer.alreadyDone = true;
 			throw e;
 		}
-	
+		if (monitor.isCanceled()) {
+			removeServerListener(listener);
+			timer.alreadyDone = true;
+			return;
+		}
+		
 		Trace.trace(Trace.FINEST, "synchronousStart 3");
-	
+		
 		// wait for it! wait for it! ...
-		synchronized (mutex) {
+		synchronized (notified) {
 			try {
-				while (!mutex.notified && !monitor.isCanceled() && !timer.timeout
-						&& !(getServerState() == IServer.STATE_STARTED || getServerState() == IServer.STATE_STOPPED))
-					mutex.wait();
+				while (!notified[0] && !monitor.isCanceled() && !timer.timeout
+						&& !(getServerState() == IServer.STATE_STARTED || getServerState() == IServer.STATE_STOPPED)) {
+					notified.wait();
+				}
 			} catch (Exception e) {
 				Trace.trace(Trace.SEVERE, "Error waiting for server start", e);
 			}
+			timer.alreadyDone = true;
 		}
 		removeServerListener(listener);
-		timer.alreadyDone = true;
 		
-		if (timer.timeout)
+		if (timer.timeout) {
+			stop(false);
 			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartTimeout, new String[] { getName(), (serverTimeout / 1000) + "" }), null));
-		timer.alreadyDone = true;
+		}
 		
 		if (getServerState() == IServer.STATE_STOPPED)
 			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, NLS.bind(Messages.errorStartFailed, getName()), null));
-	
+		
 		Trace.trace(Trace.FINEST, "synchronousStart 4");
 	}
 
@@ -1657,25 +1780,28 @@
 		}
 		final Timer timer = new Timer();
 		
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(120000);
-					if (!timer.alreadyDone) {
-						timer.timeout = true;
-						// notify waiter
-						synchronized (mutex) {
-							Trace.trace(Trace.FINEST, "stop notify timeout");
-							mutex.notifyAll();
+		final int serverTimeout = ((ServerType) getServerType()).getStopTimeout();
+		if (serverTimeout > 0) {
+			Thread thread = new Thread("Server stop timeout") {
+				public void run() {
+					try {
+						Thread.sleep(serverTimeout);
+						if (!timer.alreadyDone) {
+							timer.timeout = true;
+							// notify waiter
+							synchronized (mutex) {
+								Trace.trace(Trace.FINEST, "stop notify timeout");
+								mutex.notifyAll();
+							}
 						}
+					} catch (Exception e) {
+						Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
 					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
 				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
+			};
+			thread.setDaemon(true);
+			thread.start();
+		}
 	
 		// stop the server
 		stop(force);
@@ -1740,25 +1866,28 @@
 		}
 		final Timer timer = new Timer();
 		
-		Thread thread = new Thread() {
-			public void run() {
-				try {
-					Thread.sleep(120000);
-					if (!timer.alreadyDone) {
-						timer.timeout = true;
-						// notify waiter
-						synchronized (mutex) {
-							Trace.trace(Trace.FINEST, "stop notify timeout");
-							mutex.notifyAll();
+		final int serverTimeout = ((ServerType) getServerType()).getStopTimeout();
+		if (serverTimeout > 0) {
+			Thread thread = new Thread("Synchronous server stop") {
+				public void run() {
+					try {
+						Thread.sleep(serverTimeout);
+						if (!timer.alreadyDone) {
+							timer.timeout = true;
+							// notify waiter
+							synchronized (mutex) {
+								Trace.trace(Trace.FINEST, "stop notify timeout");
+								mutex.notifyAll();
+							}
 						}
+					} catch (Exception e) {
+						Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
 					}
-				} catch (Exception e) {
-					Trace.trace(Trace.SEVERE, "Error notifying server stop timeout", e);
 				}
-			}
-		};
-		thread.setDaemon(true);
-		thread.start();
+			};
+			thread.setDaemon(true);
+			thread.start();
+		}
 	
 		// stop the server
 		stop(force);
@@ -1924,9 +2053,6 @@
 		//serverState = wc.serverState;
 		delegate = wc.delegate;
 		
-		int timestamp = wc.getTimestamp();
-		map.put(PROP_TIMESTAMP, Integer.toString(timestamp+1));
-		
 		if (getServerState() == IServer.STATE_STARTED)
 			autoPublish();
 	}
@@ -2153,7 +2279,7 @@
 			Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e);
 		}
 	}
-	
+
 	/*
 	 * @see IServer#stopModule(IModule[], IOperationListener)
 	 */
@@ -2166,7 +2292,7 @@
 			Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e);
 		}
 	}
-	
+
 	/*
 	 * @see IServer#restartModule(IModule[], IOperationListener, IProgressMonitor)
 	 */
@@ -2180,10 +2306,10 @@
 			Trace.trace(Trace.SEVERE, "Error calling delegate restartModule() " + toString(), e);
 		}
 	}
-	
+
 	/**
 	 * Returns an array of IServerPorts that this server has.
-	 *
+	 * 
 	 * @param monitor
 	 * @return a possibly empty array of servers ports
 	 */
@@ -2195,7 +2321,7 @@
 			return null;
 		}
 	}
-	
+
 	/**
 	 * Visit all the modules in the server with the given module visitor.
 	 * 
@@ -2266,7 +2392,7 @@
 		moduleStatus.put(getKey(module), status);
 		//fireServerModuleStateChangeEvent(module);
 	}
-	
+
 	public IStatus getModuleStatus(IModule[] module) {
 		if (module == null)
 			throw new IllegalArgumentException("Module cannot be null");
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
index 86f8e95..ba8e1e1 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerPreferences.java
@@ -122,16 +122,18 @@
 	}
 
 	/**
-	 * Return the machine speed index, from 1 to 10.
+	 * Return the relative machine speed index, from 1 to 9. A value of -1 means
+	 * no timeouts, and a value of 5 is an average machine. 1-4 are slower
+	 * machines and 6-9 are faster machines.
 	 * 
 	 * @return the relative speed
 	 */
 	public int getMachineSpeed() {
 		return preferences.getInt(PREF_MACHINE_SPEED);
 	}
-	
+
 	/**
-	 * Return the default machine speed index, 5.
+	 * Return the default relative machine speed index, 5.
 	 * 
 	 * @return the default speed index
 	 */
@@ -140,12 +142,15 @@
 	}
 
 	/**
-	 * Sets the relative machine speed index, from 1 to 10.
+	 * Sets the relative machine speed index, from 1 to 9. A value of -1 means
+	 * no timeouts, and a value of 5 is an average machine. 1-4 are slower
+	 * machines and 6-9 are faster machines.
 	 * 
 	 * @param speed the relative speed 
 	 */
 	public void setMachineSpeed(int speed) {
 		preferences.setValue(PREF_MACHINE_SPEED, speed);
+		ServerPlugin.getInstance().savePluginPreferences();
 	}
 
 	/**
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 75cadc5..73e2695 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
@@ -20,6 +20,7 @@
 
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.server.core.model.IModuleFile;
 import org.eclipse.wst.server.core.model.IModuleFolder;
@@ -104,8 +105,20 @@
 	 * Note: save() must be called manually after making this call.
 	 * 
 	 * @param moduleList
+	 * @deprecated Use removeDeletedModulePublishInfo(Server, List) instead
 	 */
 	public void removeDeletedModulePublishInfo(List moduleList) {
+		removeDeletedModulePublishInfo(null, moduleList);
+	}
+
+	/**
+	 * Removes successfully deleted modules from the next publish.
+	 * Note: save() must be called manually after making this call.
+	 * 
+	 * @param server a server
+	 * @param moduleList the modules currently on the server
+	 */
+	public void removeDeletedModulePublishInfo(Server server, List moduleList) {
 		int size = moduleList.size();
 		List removed = new ArrayList();
 		
@@ -120,6 +133,17 @@
 				if (key != null && key.equals(key2))
 					found = true;
 			}
+			
+			if (server != null) {
+				try {
+					Integer in = (Integer) server.modulePublishState.get(key);
+					if (in != null && in.intValue() != IServer.PUBLISH_STATE_NONE)
+						found = true;
+				} catch (Exception e) {
+					// ignore
+				}
+			}
+			
 			if (!found)
 				removed.add(key);
 		}
@@ -136,11 +160,11 @@
 	 */
 	protected ModulePublishInfo getModulePublishInfo(IModule[] module) {
 		String key = getKey(module);
-
+		
 		// check if it now exists
 		if (modulePublishInfo.containsKey(key))
 			return (ModulePublishInfo) modulePublishInfo.get(key);
-	
+		
 		// have to create a new one
 		IModule mod = module[module.length - 1];
 		ModulePublishInfo mpi = new ModulePublishInfo(getKey(module), mod.getName(), mod.getModuleType());
@@ -366,7 +390,7 @@
 	private static IModuleResourceDelta[] getDeltaTree(IModuleResource[] resources, int kind) {
 		if (resources == null)
 			return new IModuleResourceDelta[0];
-	
+		
 		List list = new ArrayList();
 		
 		// look for duplicates
@@ -402,7 +426,7 @@
 	/**
 	 * Fill the module cache.
 	 */
-	protected void startCaching() {
+	public void startCaching() {
 		Iterator iterator = modulePublishInfo.values().iterator();
 		while (iterator.hasNext()) {
 			ModulePublishInfo mpi = (ModulePublishInfo) iterator.next();
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 5af18e6..7edbdee 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
@@ -28,7 +28,9 @@
  * 
  */
 public class ServerType implements IServerType {
-	private static final int DEFAULT_TIMEOUT = 1000 * 60 * 5;
+	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;
 
 	/**
@@ -303,39 +305,38 @@
 	 * 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
+	 * @return the server startup timeout, or -1 if there is no timeout
 	 */
 	public int getStartTimeout() {
-		int timeout = -1;
 		try {
 			int i = Integer.parseInt(element.getAttribute("startTimeout"));
 			int s = ServerPreferences.getInstance().getMachineSpeed();
-			timeout = i * (10 - s) / 5;
-			return i;
+			if (s < 0)
+				return -1;
+			return (int) (i * SERVER_TIMEOUTS[s-1]);
 		} catch (NumberFormatException e) {
 			// ignore
 		}
-		if (timeout <= 0)
-			timeout = DEFAULT_TIMEOUT;
-		return timeout;
+		return DEFAULT_TIMEOUT;
 	}
 
 	/**
 	 * Return the timeout (in ms) to wait before assuming that the server
 	 * has failed to stop. The default is 2 minutes.
 	 * 
-	 * @return the server shutdown timeout
+	 * @return the server shutdown timeout, or -1 if there is no timeout
 	 */
 	public int getStopTimeout() {
-		int timeout = -1;
 		try {
-			timeout = Integer.parseInt(element.getAttribute("stopTimeout"));
+			int i = Integer.parseInt(element.getAttribute("stopTimeout"));
+			int s = ServerPreferences.getInstance().getMachineSpeed();
+			if (s < 0)
+				return -1;
+			return (int) (i * SERVER_TIMEOUTS[s-1]);
 		} catch (NumberFormatException e) {
 			// ignore
 		}
-		if (timeout <= 0)
-			timeout = DEFAULT_TIMEOUT;
-		return timeout;
+		return DEFAULT_TIMEOUT;
 	}
 
 	public void dispose() {
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 ea31595..249c6bd 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
@@ -60,11 +60,11 @@
 	public boolean isWorkingCopy() {
 		return true;
 	}
-	
+
 	public IServer getOriginal() {
 		return server;
 	}
-	
+
 	public IServerWorkingCopy createWorkingCopy() {
 		return this;
 	}
@@ -72,7 +72,7 @@
 	public int getServerState() {
 		if (server != null)
 			return server.getServerState();
-		return serverState;
+		return super.getServerState();
 	}
 
 	public void setServerState(int state) {
@@ -81,11 +81,11 @@
 		else
 			super.setServerState(state);
 	}
-	
+
 	public int getServerPublishState() {
 		if (server != null)
 			return server.getServerPublishState();
-		return serverState;
+		return super.getServerPublishState();
 	}
 
 	public void setServerPublishState(int state) {
@@ -94,7 +94,72 @@
 		else
 			super.setServerPublishState(state);
 	}
-	
+
+	public IStatus getServerStatus() {
+		if (server != null)
+			return server.getServerStatus();
+		return super.getServerStatus();
+	}
+
+	public void setServerStatus(IStatus status) {
+		if (server != null)
+			server.setServerStatus(status);
+		else
+			super.setServerStatus(status);
+	}
+
+	public int getModuleState(IModule[] module) {
+		if (server != null)
+			return server.getModuleState(module);
+		return super.getModuleState(module);
+	}
+
+	public void setModuleState(IModule[] module, int state) {
+		if (server != null)
+			server.setModuleState(module, state);
+		else
+			super.setModuleState(module, state);
+	}
+
+	public int getModulePublishState(IModule[] module) {
+		if (server != null)
+			return server.getModulePublishState(module);
+		return super.getModulePublishState(module);
+	}
+
+	public void setModulePublishState(IModule[] module, int state) {
+		if (server != null)
+			server.setModulePublishState(module, state);
+		else
+			super.setModulePublishState(module, state);
+	}
+
+	public boolean getModuleRestartState(IModule[] module) {
+		if (server != null)
+			return server.getModuleRestartState(module);
+		return super.getModuleRestartState(module);
+	}
+
+	public void setModuleRestartState(IModule[] module, boolean r) {
+		if (server != null)
+			server.setModuleRestartState(module, r);
+		else
+			super.setModuleRestartState(module, r);
+	}
+
+	public IStatus getModuleStatus(IModule[] module) {
+		if (server != null)
+			return server.getModuleStatus(module);
+		return super.getModuleStatus(module);
+	}
+
+	public void setModuleStatus(IModule[] module, IStatus status) {
+		if (server != null)
+			server.setModuleStatus(module, status);
+		else
+			super.setModuleStatus(module, status);
+	}
+
 	public String getMode() {
 		if (server != null)
 			return server.getMode();
@@ -296,6 +361,9 @@
 		if (!force && getOriginal() != null)
 			wch.validateTimestamp(((Server)getOriginal()).getTimestamp());
 		
+		int timestamp = getTimestamp();
+		map.put(PROP_TIMESTAMP, Integer.toString(timestamp+1));
+		
 		if (server == null) {
 			server = new Server(file);
 			server.setServerState(serverState);
@@ -438,7 +506,7 @@
 				for (int i = 0; i < size; i++) {
 					if (!modules.contains(add[i])) {
 						modules.add(add[i]);
-						resetPublishState(new IModule[] { add[i] }, monitor);
+						resetState(new IModule[] { add[i] }, monitor);
 					}
 				}
 			}
@@ -448,7 +516,7 @@
 				for (int i = 0; i < size; i++) {
 					if (modules.contains(remove[i])) {
 						modules.remove(remove[i]);
-						resetPublishState(new IModule[] { remove[i] }, monitor);
+						resetState(new IModule[] { remove[i] }, monitor);
 					}
 				}
 			}
@@ -480,9 +548,38 @@
 			throw new CoreException(new Status(IStatus.ERROR, ServerPlugin.PLUGIN_ID, 0, "" + e.getLocalizedMessage(), e));
 		}
 	}
-	
+
+	protected void resetState(IModule[] module, IProgressMonitor monitor) {
+		setModulePublishState(module, PUBLISH_STATE_UNKNOWN);
+		setModuleState(module, IServer.STATE_UNKNOWN);
+		setModuleRestartState(module, false);
+		setModuleStatus(module, null);
+		try {
+			IModule[] children = getChildModules(module, monitor);
+			int size = children.length;
+			int size2 = module.length;
+			for (int i = 0; i < size; i++) {
+				IModule[] child = new Module[size2 + 1];
+				System.arraycopy(module, 0, child, 0, size2);
+				child[size2] = children[i];
+				resetPublishState(child, monitor);
+				setModuleState(module, IServer.STATE_UNKNOWN);
+				setModuleRestartState(module, false);
+				setModuleStatus(module, null);
+			}
+		} catch (Exception e) {
+			// ignore
+		}
+	}
+
+	/**
+	 * 
+	 * @param module
+	 * @param monitor
+	 * @deprecated use resetState() instead
+	 */
 	protected void resetPublishState(IModule[] module, IProgressMonitor monitor) {
-		setModulePublishState(module, -1);
+		setModulePublishState(module, PUBLISH_STATE_UNKNOWN);
 		try {
 			IModule[] children = getChildModules(module, monitor);
 			int size = children.length;
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 2ebee80..461d813 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
@@ -61,6 +61,19 @@
 	 */
 	final void initialize(ModuleFactory newFactory, IProgressMonitor monitor) {
 		factory = newFactory;
+		initialize();
+	}
+
+	/**
+	 * Initializes this module factory delegate. This method gives delegates a chance
+	 * to do their own initialization.
+	 * <p>
+	 * This method is called by the server core framework.
+	 * Clients should never call this method.
+	 * </p>
+	 */
+	public void initialize() {
+		// do nothing
 	}
 
 	/**
@@ -75,6 +88,17 @@
 	}
 
 	/**
+	 * Clears the cache of modules returned by getModules(). Delegates can call this
+	 * method if they know that the results of the last call to getModules() is
+	 * invalid and should be refreshed.
+	 * 
+	 * @see #getModules()
+	 */
+	public void clearModuleCache() {
+		factory.clearModuleCache();
+	}
+
+	/**
 	 * Creates a module instance with the given static information. This method is used
 	 * by module factory delegates to create module instances.
 	 *  
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 e942032..0b284ba 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
@@ -571,9 +571,9 @@
 		
 		monitor = ProgressUtil.getMonitorFor(monitor);
 		monitor.beginTask(NLS.bind(Messages.publishing, getServer().getName()), size);
-
+		
 		MultiStatus tempMulti = new MultiStatus(ServerPlugin.PLUGIN_ID, 0, "", null);
-
+		
 		if (monitor.isCanceled())
 			return Status.CANCEL_STATUS;
 		
@@ -587,15 +587,16 @@
 		}
 		
 		// perform tasks
-		MultiStatus taskStatus = performTasks(tasks, monitor);
-		if (taskStatus != null)
-			tempMulti.addAll(taskStatus);
+		if (!monitor.isCanceled()) {
+			MultiStatus taskStatus = performTasks(tasks, monitor);
+			if (taskStatus != null && !taskStatus.isOK())
+				tempMulti.addAll(taskStatus);
+		}
 		
 		// publish the server
 		try {
-			if (!monitor.isCanceled()) {
+			if (!monitor.isCanceled())
 				publishServer(kind, ProgressUtil.getSubMonitorFor(monitor, 1000));
-			}
 		} catch (CoreException ce) {
 			Trace.trace(Trace.INFO, "CoreException publishing to " + toString(), ce);
 			tempMulti.add(ce.getStatus());
@@ -669,7 +670,10 @@
 		
 		IStatus status = Status.OK_STATUS;
 		try {
-			publishModule(kind, deltaKind, module, monitor);
+			int kind2 = kind;
+			if (getServer().getModulePublishState(module) == IServer.PUBLISH_STATE_UNKNOWN)
+				kind2 = IServer.PUBLISH_FULL;
+			publishModule(kind2, deltaKind, module, monitor);
 		} catch (CoreException ce) {
 			status = ce.getStatus();
 		} catch (Exception e) {
@@ -750,7 +754,8 @@
 		// publish modules
 		for (int i = 0; i < size; i++) {
 			IStatus status = publishModule(kind, (IModule[]) modules.get(i), ((Integer)deltaKind.get(i)).intValue(), ProgressUtil.getSubMonitorFor(monitor, 3000));
-			multi.add(status);
+			if (status != null && !status.isOK())
+				multi.add(status);
 		}
 	}
 
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 5858d00..1e0510c 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
@@ -226,23 +226,24 @@
 	 * project can run on a server, this method will be used to find the actual
 	 * module(s) that may be run on the server. For instance, a Web module may
 	 * return a list of EAR modules that it is contained in if the server only
-	 * supports configuring EAR modules.
-	 *
-	 * <p>If the module type is not supported, this method will return null.
-	 * If the type is normally supported but there is a configuration
-	 * problem or missing parent, etc., this method will fire a CoreException
-	 * that may then be presented to the user.</p>
-	 *
+	 * supports configuring EAR modules. If the server supports running a module
+	 * directly, the returned array should contain the module.
+	 * 
+	 * <p>If the module type is not supported, this method will return null or
+	 * an empty array. If the type is normally supported but there is a
+	 * configuration problem or missing parent, etc., this method will fire a
+	 * CoreException that may then be presented to the user.</p>
+	 * 
 	 * <p>If it does return valid parent(s), this method will always return
 	 * the topmost parent module(s), even if there are a few levels
 	 * (a heirarchy) of modules.</p>
 	 * 
 	 * [issue: should the parameter be IModule[]?]
-	 *
+	 * 
 	 * @param module a module
 	 * @return an array of possible root modules
 	 * @throws CoreException if anything went wrong
-	 *
+	 * 
 	 * @see org.eclipse.wst.server.core.IServerAttributes#getRootModules(IModule, IProgressMonitor)
 	 */
 	public abstract IModule[] getRootModules(IModule module) throws CoreException;
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 2f787c2..f2b7d9c 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
@@ -114,13 +114,29 @@
 	/**
 	 * Returns the child modules of this module.
 	 *
-	 * @return org.eclipse.wst.server.core.model.IModule[]
+	 * @return an array of child modules
 	 */
 	public IModule[] getChildModules() {
 		return null;
 	}
 
 	/**
+	 * Returns <code>true</code> if this module has a simple structure based on a
+	 * single root folder, and <code>false</code> otherwise.
+	 * <p>
+	 * In a single root structure, all files that are contained within the root folder
+	 * are part of the module, and are already in the correct module structure. No
+	 * module resources exist outside of this single folder.
+	 * </p>
+	 * 
+	 * @return <code>true</code> if this module has a single root structure, and
+	 *    <code>false</code> otherwise
+	 */
+	public boolean isSingleRootStructure() {
+		return false;
+	}
+
+	/**
 	 * Basic implementation of members() method. Assumes that the entire project should
 	 * be published to a server.
 	 * 
@@ -138,18 +154,17 @@
 	 * @return an array of module resources
 	 * @throws CoreException
 	 */
-	private IModuleResource[] getModuleResources(IPath path, IContainer container) throws CoreException {
-		List list = new ArrayList();
-
+	protected IModuleResource[] getModuleResources(IPath path, IContainer container) throws CoreException {
 		IResource[] resources = container.members();
 		if (resources != null) {
 			int size = resources.length;
+			List list = new ArrayList(size);
 			for (int i = 0; i < size; i++) {
 				IResource resource = resources[i];
 				if (resource instanceof IContainer) {
 					IContainer container2 = (IContainer) resource;
 					if (container2 != null && container2.exists()) {
-						ModuleFolder mf = new ModuleFolder(container, container2.getName(), path);
+						ModuleFolder mf = new ModuleFolder(container2, container2.getName(), path);
 						mf.setMembers(getModuleResources(path.append(container2.getName()), container2));
 						list.add(mf);
 					}
@@ -159,10 +174,10 @@
 						list.add(new ModuleFile(file, file.getName(), path));
 				}
 			}
+			IModuleResource[] moduleResources = new IModuleResource[list.size()];
+			list.toArray(moduleResources);
+			return moduleResources;
 		}
-
-		IModuleResource[] moduleResources = new IModuleResource[list.size()];
-		list.toArray(moduleResources);
-		return moduleResources;
+		return new IModuleResource[0];
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/util/ProjectModuleFactoryDelegate.java
index e467708..a177b84 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
@@ -57,9 +57,13 @@
 				//Trace.trace("caching: " + this + " " + projects[i] + " " + isValidModule(projects[i]));
 				if (projects2[i].isAccessible()) {
 					try {
-						IModule module = createModule(projects2[i]);
-						if (module != null)
-							modules.add(module);
+						IModule[] modules2 = createModules(projects2[i]);
+						if (modules2 != null) {
+							int size2 = modules2.length;
+							for (int j = 0; j < size2; j++)
+								if (modules2[j] != null)
+									modules.add(modules2[j]);
+						}
 					} catch (Throwable t) {
 						Trace.trace(Trace.SEVERE, "Error creating module", t);
 					}
@@ -121,10 +125,7 @@
 	 *    and <code>false</code> otherwise
 	 */
 	private final boolean deltaAffectsModules(IResourceDelta delta) {
-		class Temp {
-			boolean b = false;
-		}
-		final Temp t = new Temp();
+		final boolean[] b = new boolean[1];
 		
 		final IPath[] listenerPaths = getListenerPaths();
 		if (listenerPaths == null || listenerPaths.length == 0)
@@ -134,14 +135,14 @@
 		try {
 			delta.accept(new IResourceDeltaVisitor() {
 				public boolean visit(IResourceDelta delta2) throws CoreException {
-					if (t.b)
+					if (b[0])
 						return false;
 					//Trace.trace(Trace.FINEST, delta2.getResource() + "  " + delta2.getKind() + " " + delta2.getFlags());
 					boolean ok = false;
 					IPath path = delta2.getProjectRelativePath();
 					for (int i = 0; i < size; i++) {
 						if (listenerPaths[i].equals(path)) {
-							t.b = true;
+							b[0] = true;
 							return false;
 						} else if (path.isPrefixOf(listenerPaths[i])) {
 							ok = true;
@@ -154,7 +155,7 @@
 			// ignore
 		}
 		//Trace.trace(Trace.FINEST, "Delta contains change: " + t.b);
-		return t.b;
+		return b[0];
 	}
 
 	/**
@@ -169,8 +170,27 @@
 	 * 
 	 * @param project a project to create modules for
 	 * @return a module, or <code>null</code> if there was no module in the project
+	 * @see #createModules(IProject)
+	 * @deprecated Use createModules(IProject) instead, which supports multiple modules
+	 *    per project
 	 */
-	protected abstract IModule createModule(IProject project);
+	protected IModule createModule(IProject project) {
+		return null;
+	}
+
+	/**
+	 * Creates the modules that are contained within a given project.
+	 * 
+	 * @param project a project to create modules for
+	 * @return a possibly-empty array of modules
+	 */
+	protected IModule[] createModules(IProject project) {
+		IModule module = createModule(project);
+		if (module == null)
+			return new IModule[0];
+		
+		return new IModule[] { module };
+	}
 
 	/**
 	 * Returns the list of resources that the module should listen to
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 1c09a4c..113ad14 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
@@ -11,10 +11,14 @@
 package org.eclipse.wst.server.core.util;
 
 import java.io.IOException;
-import java.lang.reflect.Method;
 import java.net.InetAddress;
+import java.net.NetworkInterface;
 import java.net.ServerSocket;
 import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Random;
 
 import org.eclipse.wst.server.core.internal.Trace;
@@ -28,9 +32,11 @@
 public class SocketUtil {
 	private static final Random rand = new Random(System.currentTimeMillis());
 
-	private static String dnsHostname;
-	
-	private static final String DNSNAMESERVICE_CLASS = "sun.net.spi.nameservice.dns.DNSNameService";
+	private static List localHostCache;
+
+	private static List addressCache;
+
+	private static Object lock = new Object();
 
 	/**
 	 * Static utility class - cannot create an instance.
@@ -127,15 +133,23 @@
 	}
 
 	/**
-	 * Checks if the given host (name or IP address) is pointing to the local
-	 * machine.
-	 * Although this method is not foolproof (especially if the network
-	 * configuration of the current machine is incorrect or failing), it will
-	 * correctly identify just about all loopback adapters and the local hostname
-	 * or IP address.
+	 * Checks if the given host (name, fully qualified name, or IP address) is
+	 * referring to the local machine.
 	 * <p>
-	 * This method will not attempt to make an external network connection, so
-	 * it returns quickly and is safe to use in UI interfaces.
+	 * The first time this method is called (or the first call after each time
+	 * the network configuration has changed, e.g. by the user switching from a
+	 * wired connection to wireless) a background process is used to cache the
+	 * network information. On most machines the network information will be found
+	 * quickly and the results of this call will be returned immediately.
+	 * </p><p>
+	 * On machines where the network configuration of the machine is bad or the
+	 * network has problems, this first method call will take at most 250ms, but
+	 * the results may be incorrect (incomplete).
+	 * </p><p>
+	 * All subsequent calls (until the network configuration changes) will
+	 * return very quickly. If the background process is still running it will
+	 * continue to fill the cache and each subsequent call to this method may be
+	 * more correct.
 	 * </p>
 	 * 
 	 * @param host a hostname or IP address
@@ -145,35 +159,75 @@
 	public static boolean isLocalhost(String host) {
 		if (host == null)
 			return false;
+		
+		if ("localhost".equals(host) || "127.0.0.1".equals(host))
+			return true;
+		
+		// check if cache is ok
 		try {
-			if ("localhost".equals(host) || "127.0.0.1".equals(host))
-				return true;
+			// get network interfaces
+			final List currentAddresses = new ArrayList();
+			currentAddresses.add(InetAddress.getLocalHost());
+			Enumeration nis = NetworkInterface.getNetworkInterfaces();
+			while (nis.hasMoreElements()) {
+				NetworkInterface inter = (NetworkInterface) nis.nextElement();
+				Enumeration ias = inter.getInetAddresses();
+				while (ias.hasMoreElements())
+					currentAddresses.add(ias.nextElement());
+			}
 			
-			InetAddress localHostaddr = InetAddress.getLocalHost();
-			if (localHostaddr.getHostName().equals(host) || host.equals(localHostaddr.getCanonicalHostName()))
-				return true;
-			
-			if (localHostaddr.getHostAddress().equals(host))
-				return true;
-			
-			if (dnsHostname == null)
-				try {
-					//	workaround to break dependency with Sun's classes
-					Class cl = Class.forName(DNSNAMESERVICE_CLASS);
-					Method getHostByAddrMeth = cl.getMethod("getHostByAddr", new Class[] {byte[].class});
-					Object dns = cl.newInstance();
-					
-					dnsHostname = (String)getHostByAddrMeth.invoke(dns,
-						new Object[] { localHostaddr.getAddress() });
-				} catch (Throwable t) {
-					dnsHostname = "*****************";
+			// 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);
 				}
-			
-			if (dnsHostname != null && dnsHostname.equals(host))
-				return true;
+				synchronized (lock) {
+					localHostCache = addressList;
+				}
+				
+				Thread cacheThread = new Thread("Caching localhost information") {
+					public void run() {
+						Iterator iter = currentAddresses.iterator();
+						while (iter.hasNext()) {
+							InetAddress addr = (InetAddress) iter.next();
+							String host = addr.getHostName();
+							String host2 = addr.getCanonicalHostName();
+							synchronized (lock) {
+								if (host != null && !addressList.contains(host))
+									addressList.add(host);
+								if (host2 != null && !addressList.contains(host2))
+									addressList.add(host2);
+							}
+						}
+					}
+				};
+				cacheThread.setDaemon(true);
+				cacheThread.setPriority(Thread.NORM_PRIORITY - 1);
+				cacheThread.start();
+				cacheThread.join(250);
+			}
 		} catch (Exception e) {
-			Trace.trace(Trace.WARNING, "Error checking for localhost", e);
+			// ignore
+			Trace.trace(Trace.WARNING, "Localhost caching failure", e);
 		}
+		
+		if (localHostCache == null)
+			return false;
+		
+		synchronized (lock) {
+			Iterator iterator = localHostCache.iterator();
+			while (iterator.hasNext()) {
+				if (host.equals(iterator.next()))
+					return true;
+			}
+		}
+		
 		return false;
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/.options b/plugins/org.eclipse.wst.server.ui/.options
index b6047e1..295c5ce 100644
--- a/plugins/org.eclipse.wst.server.ui/.options
+++ b/plugins/org.eclipse.wst.server.ui/.options
@@ -3,5 +3,8 @@
 # Turn on general debugging
 org.eclipse.wst.server.ui/debug=true
 
-# Prints out values
-org.eclipse.wst.server.ui/editor=false
+# Loading of extension points
+org.eclipse.wst.server.ui/extension_point=false
+
+# Performance of loading and calling delegates
+org.eclipse.wst.server.ui/performance=false
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.ui/META-INF/MANIFEST.MF
index 60602f3..6cf6600 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.102.qualifier
+Bundle-Version: 1.0.104.qualifier
 Bundle-Activator: org.eclipse.wst.server.ui.internal.ServerUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -21,16 +21,16 @@
  org.eclipse.wst.server.ui.internal.wizard.fragment;x-internal:=true,
  org.eclipse.wst.server.ui.internal.wizard.page;x-internal:=true,
  org.eclipse.wst.server.ui.wizard
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui.ide;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.ui.browser;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.core;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,3.3.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,1.1.0)",
- org.eclipse.wst.internet.monitor.core;bundle-version="[1.0.102,1.1.0)"
+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.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.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)"
 Eclipse-LazyStart: true; exceptions="org.eclipse.wst.server.ui.internal.webbrowser"
diff --git a/plugins/org.eclipse.wst.server.ui/plugin.xml b/plugins/org.eclipse.wst.server.ui/plugin.xml
index 6bc8d23..c3462d4 100644
--- a/plugins/org.eclipse.wst.server.ui/plugin.xml
+++ b/plugins/org.eclipse.wst.server.ui/plugin.xml
@@ -350,4 +350,10 @@
      icon="icons/obj16/web_module.gif"/>
 </extension>
 
-</plugin>
\ No newline at end of file
+<extension point="org.eclipse.ui.ide.markerResolution">
+  <markerResolutionGenerator
+     class="org.eclipse.wst.server.ui.internal.MarkerResolutionGenerator"
+     markerType="org.eclipse.wst.common.project.facet.core.validation.marker"/>
+</extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java
index 5a1bc0e..0465c70 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUICore.java
@@ -19,8 +19,6 @@
  * @since 1.0
  */
 public class ServerUICore {
-	private static ServerLabelProvider labelProvider;
-
 	/**
 	 * ServerUICore constructor comment.
 	 */
@@ -35,8 +33,6 @@
 	 * @return a label provider
 	 */
 	public static ILabelProvider getLabelProvider() {
-		if (labelProvider == null)
-			labelProvider = new ServerLabelProvider();
-		return labelProvider;
+		return new ServerLabelProvider();
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java
index 21cc8de..9cc2bb2 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/ServerUIUtil.java
@@ -27,15 +27,16 @@
 	}
 
 	/**
-	 * Open the new runtime wizard.
+	 * Open the new runtime wizard. The given typeId and versionId are used to filter
+	 * the set of runtimes displayed.
 	 * 
 	 * @param shell a shell to use when creating the wizard
-	 * @param type the type of module to create a runtime for
-	 * @param version the version of module to create a runtime for
+	 * @param typeId a module type id, or null for any module type
+	 * @param versionId a module version, or null for any version
 	 * @return <code>true</code> if a runtime was created, or
 	 *    <code>false</code> otherwise
 	 */
-	public static boolean showNewRuntimeWizard(Shell shell, final String type, final String version) {
-		return ServerUIPlugin.showNewRuntimeWizard(shell, type, version, null);
+	public static boolean showNewRuntimeWizard(Shell shell, String typeId, String versionId) {
+		return ServerUIPlugin.showNewRuntimeWizard(shell, typeId, versionId, null);
 	}
 }
\ 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 6516e2c..b478cde 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
@@ -43,12 +43,12 @@
 	private List sections = null;
 	private ServerResourceCommandManager commandManager;
 	private FormToolkit toolkit;
-	
+
 	/**
 	 * The server currently being edited.
 	 */
 	protected IServerWorkingCopy server;
-	
+
 	/**
 	 * <code>true</code> if the server is read-only, and <code>false</code>
 	 * otherwise.
@@ -161,12 +161,13 @@
 		if (sections == null) {
 			sections = new ArrayList();
 			sectionToInsertionId = new HashMap();
+			ServerEditor serverEditor = commandManager.getServerEditor();
 			Iterator iterator = ServerEditorCore.getServerEditorPageSectionFactories().iterator();
 			while (iterator.hasNext()) {
 				IServerEditorPageSectionFactory factory = (IServerEditorPageSectionFactory) iterator.next();
 				String insertionId = factory.getInsertionId();
 				
-				IServerEditorPartFactory pageFactory = ServerEditor.getPageFactory(this);
+				IServerEditorPartFactory pageFactory = serverEditor.getPageFactory(this);
 				if (pageFactory.supportsInsertionId(insertionId)) {
 					String serverTypeId = null;
 					if (server != null) 
@@ -194,7 +195,7 @@
 		}
 		return sections;
 	}
-	
+
 	private List getSections(String insertionId) {
 		if (insertionId == null)
 			return null;
@@ -234,7 +235,7 @@
 			section.init(site, input);
 		}
 	}
-	
+
 	/**
 	 * Executes the given operation and adds it to the operation history
 	 * with the correct context.
@@ -270,21 +271,27 @@
 			section.createSection(parent);
 		}
 	}
-	
+
 	/**
 	 * Dispose of the editor.
 	 */
 	public void dispose() {
 		super.dispose();
-
+		
 		Iterator iterator = getSections().iterator();
 		while (iterator.hasNext()) {
 			ServerEditorSection section = (ServerEditorSection) iterator.next();
 			section.dispose();
 		}
 		
-		if (toolkit != null)
+		if (toolkit != null) {
 			toolkit.dispose();
+			toolkit = null;
+		}
+		
+		commandManager = null;
+		sectionToInsertionId = null;
+		sections = null;
 	}
 
 	/**
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 abfa652..f57489d 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
@@ -53,6 +53,7 @@
 	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";
 	public static final String PREF_GENERAL_ENABLE_BREAKPOINTS = ServerUIPlugin.PLUGIN_ID + ".spge0032";
 
 	public static final String VIEW_SERVERS = ServerUIPlugin.PLUGIN_ID + ".svcp0000";
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 f308286..231c4d2 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
@@ -11,6 +11,7 @@
 package org.eclipse.wst.server.ui.internal;
 
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
 import org.eclipse.core.runtime.CoreException;
@@ -18,6 +19,7 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitor;
+import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorListener;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.IMonitorWorkingCopy;
 import org.eclipse.wst.internet.monitor.core.internal.provisional.MonitorCore;
 import org.eclipse.wst.server.core.IServer;
@@ -29,6 +31,43 @@
  */
 public class DefaultMonitorDelegate extends ServerMonitorDelegate {
 	protected Map monitors = new HashMap();
+	protected IMonitorListener listener;
+
+	private void addListener() {
+		if (listener != null)
+			return;
+		
+		listener = new IMonitorListener() {
+			public void monitorAdded(IMonitor monitor) {
+				// ignore
+			}
+
+			public void monitorChanged(IMonitor monitor) {
+				// ignore
+			}
+
+			public void monitorRemoved(IMonitor monitor) {
+				if (monitor == null)
+					return;
+				
+				Object monKey = null;
+				Iterator iterator = monitors.keySet().iterator();
+				while (iterator.hasNext()) {
+					Object key = iterator.next();
+					Object value = monitors.get(key);
+					if (monitor.equals(value))
+						monKey = key;
+				}
+				if (monKey != null)
+					monitors.remove(monKey);
+				if (monitors.isEmpty()) {
+					MonitorCore.removeMonitorListener(listener);
+					listener = null;
+				}
+			}
+		};
+		MonitorCore.addMonitorListener(listener);
+	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.wst.server.core.model.ServerMonitorDelegate#startMonitoring(org.eclipse.wst.server.core.ServerPort)
@@ -50,6 +89,7 @@
 				if ("HTTP".equals(port.getProtocol()))
 					wc.setProtocol("HTTP");
 				monitor = wc.save();
+				addListener();
 			} else
 				mport = monitor.getLocalPort();
 			monitor.start();
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 0de5140..6bfe78d 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -17,12 +17,16 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.resources.IResourceRuleFactory;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.MultiRule;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -34,9 +38,9 @@
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServer.IOperationListener;
+import org.eclipse.wst.server.core.internal.ServerSchedulingRule;
 /**
  * Dialog that prompts a user to delete server(s) and/or server configuration(s).
  */
@@ -143,43 +147,45 @@
 		final boolean deleteRunning = (checkDeleteRunning != null && checkDeleteRunning.getSelection());
 		final boolean deleteRunningStop = (checkDeleteRunningStop != null && checkDeleteRunningStop.getSelection());
 		
-		if (runningServersList.size() > 0) {
-			// stop servers and/or updates servers' list
-			prepareForDeletion(deleteRunning, deleteRunningStop);
-			//monitor.worked(1);
-		}
-		
-		try {
-			WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-				protected void execute(IProgressMonitor monitor) throws CoreException {
-					// since stopping can be long, let's animate progessDialog
-					monitor.beginTask(Messages.deleteServerTask, 2);
-					
-					if (servers.length == 0) {
-						// all servers have been deleted from list
-						return;
-					}
-					try {
-						int size = servers.length;
-						for (int i = 0; i < size; i++) {
-							servers[i].delete();
-						}
-						
-						if (checked) {
-							size = configs.length;
-							for (int i = 0; i < size; i++) {
-								configs[i].delete(true, true, monitor);
-							}
-						}
-					} catch (Exception e) {
-						Trace.trace(Trace.SEVERE, "Error while deleting resources", e);
-					}
+		Job job = new Job(Messages.deleteServerTask) {
+			protected IStatus run(IProgressMonitor monitor) {
+				if (runningServersList.size() > 0) {
+					// stop servers and/or updates servers' list
+					prepareForDeletion(deleteRunning, deleteRunningStop);
 				}
-			};
-			new ProgressMonitorDialog(getShell()).run(true, true, op);
-		} catch (Exception e) {
-			Trace.trace(Trace.SEVERE, "Error deleting resources", e);
-		}
+				
+				if (servers.length == 0) {
+					// all servers have been deleted from list
+					return Status.OK_STATUS;
+				}
+				try {
+					int size = servers.length;
+					for (int i = 0; i < size; i++)
+						servers[i].delete();
+					
+					if (checked) {
+						size = configs.length;
+						for (int i = 0; i < size; i++)
+							configs[i].delete(true, true, monitor);
+					}
+				} catch (Exception e) {
+					Trace.trace(Trace.SEVERE, "Error while deleting resources", e);
+				}
+						
+				return Status.OK_STATUS;
+			}
+		};
+		
+		// set rule for workspace and servers
+		int size = servers.length;
+		ISchedulingRule[] rules = new ISchedulingRule[size+1];
+		for (int i = 0; i < size; i++)
+			rules[i] = new ServerSchedulingRule(servers[i]);
+		IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
+		rules[size] = ruleFactory.createRule(ResourcesPlugin.getWorkspace().getRoot());
+		job.setRule(MultiRule.combine(rules));
+		
+		job.schedule();
 		
 		super.okPressed();
 	}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchingPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchingPreferencePage.java
index f38e3b3..2cc3c39 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchingPreferencePage.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/LaunchingPreferencePage.java
@@ -10,11 +10,11 @@
  **********************************************************************/
 package org.eclipse.wst.server.ui.internal;
 
-import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerCore;
+import org.eclipse.wst.server.core.internal.RestartServerJob;
 import org.eclipse.wst.server.core.internal.ServerPreferences;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -244,7 +244,7 @@
 					launchMode2 = options[b];
 				}
 			});
-			whs.setHelp(buttons[i], ContextIds.PREF_GENERAL_LAUNCH_MODE);
+			whs.setHelp(buttons[i], ContextIds.PREF_GENERAL_LAUNCH_MODE_DEBUG);
 		}
 		launchMode2Buttons = buttons;
 	}
@@ -340,7 +340,7 @@
 		// auto restart any servers that are ready for restart
 		if (autoRestart.getSelection())
 			autoRestartAll();
-	
+		
 		return true;
 	}
 
@@ -349,21 +349,18 @@
 	 */
 	protected static void autoRestartAll() {
 		Trace.trace(Trace.FINEST, "Auto restarting all dirty servers");
-	
+		
 		IServer[] servers = ServerCore.getServers();
 		if (servers != null) {
 			int size = servers.length;
 			for (int i = 0; i < size; i++) {
 				IServer server = servers[i];
-				if (server.getServerRestartState()) {
+				if (server.getServerState() == IServer.STATE_STARTED && server.getServerRestartState()) {
 					String mode = server.getMode();
-					if (server.canRestart(mode).isOK())
-						try {
-							Trace.trace(Trace.FINEST, "Attempting to auto restart " + server.getName());
-							server.restart(mode, (IProgressMonitor)null);
-						} catch (Exception e) {
-							Trace.trace(Trace.SEVERE, "Error restarting: " + server, e);
-						}
+					if (server.canRestart(mode).isOK()) {
+						RestartServerJob job = new RestartServerJob(server, mode);
+						job.schedule();
+					}
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/MarkerResolutionGenerator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/MarkerResolutionGenerator.java
new file mode 100644
index 0000000..f45a073
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/MarkerResolutionGenerator.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.ui.internal;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.ui.IMarkerResolution;
+import org.eclipse.ui.IMarkerResolutionGenerator2;
+
+public class MarkerResolutionGenerator implements IMarkerResolutionGenerator2 {
+	public boolean hasResolutions(IMarker marker) {
+		return true;
+	}
+
+	public IMarkerResolution[] getResolutions(IMarker marker) {
+		return new IMarkerResolution[] { new RuntimeMarkerResolution() };
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java
index 82df183..a4b0035 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
@@ -115,6 +115,7 @@
 	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;
@@ -145,6 +146,7 @@
 	public static String actionMoveServerToWorkspace;
 	public static String dialogAddRemoveModulesNone;
 	public static String actionSetNewServer;
+	public static String errorNoArtifact;
 	public static String errorNoModules;
 	public static String dialogModeWarningRun;
 	public static String dialogModeWarningDebug;
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 157ce4c..58a3350 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
@@ -195,6 +195,7 @@
 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
@@ -207,24 +208,24 @@
 prefSaveEditorsNever=&Never
 prefSaveEditorsPrompt=&Prompt
 
-prefLaunchMode=When the server is not in the correct state
+prefLaunchMode=When switching to a different server mode
 prefLaunchModeRestart=Re&start
 prefLaunchModeContinue=&Continue
 prefLaunchModePrompt=P&rompt
 
-prefLaunchMode2=When switching out of debug mode
+prefLaunchMode2=When switching the server out of debug mode
 prefLaunchMode2Restart=R&estart
 prefLaunchMode2Breakpoints=Disable &breakpoints
 prefLaunchMode2Continue=C&ontinue
 prefLaunchMode2Prompt=Pro&mpt
 
-prefBreakpoints=Re-enable breakpoints when debugging
+prefBreakpoints=When switching the server into debug mode, re-enable breakpoints
 prefBreakpointsAlways=Al&ways
 prefBreakpointsNever=Ne&ver
 prefBreakpointsPrompt=Promp&t
 
 # Project properties preferences
-prefProjectDescription=Set the default server used by Run on Server for this project. To change the server runtime targetted by this project go to the Project Facets page.
+prefProjectDescription=Set the default server used by Run on Server for this project.
 prefProject=Project:
 prefProjectDefaultServer=De&fault server:
 prefProjectNotModule=This project cannot be deployed to a server.
@@ -359,7 +360,8 @@
 errorInvalidServer=Invalid server
 errorCouldNotCreateServerProject=Could not create server project
 errorCouldNotCreateServerProjectStatus=Could not create server project: {0}
-errorNoModules=No launchable artifact could be found in the selection
+errorNoArtifact=The selection did not contain anything that can be run on a server.
+errorNoModules=The selection is not within a valid module.
 errorNoServer=Could not find a server to run the selection
 errorNoClient=Could not find a client that is able to launch the selection
 errorCouldNotSavePreference=Could not save server preference information.
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java
new file mode 100644
index 0000000..04935ec
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ModuleLabelDecorator.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.ui.internal;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.viewers.ILabelDecorator;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
+import org.eclipse.wst.server.ui.internal.viewers.BaseLabelProvider;
+
+public class ModuleLabelDecorator extends BaseLabelProvider implements ILabelDecorator {
+	public ModuleLabelDecorator() {
+		super(false);
+	}
+
+	public Image decorateImage(Image image, Object element) {
+		try {
+			IModule module = null;
+			
+			if (element instanceof IModule) {
+				module = (IModule) element;
+			} else if (element instanceof ModuleServer) {
+				IModule[] modules = ((ModuleServer) element).module;
+				module = modules[modules.length - 1];
+			}
+			if (module == null)
+				return null;
+			
+			IProject project = module.getProject();
+			
+			if (project == null)
+				return null;
+			
+			return PlatformUI.getWorkbench().getDecoratorManager().decorateImage(image, project);
+		} catch (Exception e) {
+			return null;
+		}
+	}
+
+	public String decorateText(String text, Object element) {
+		try {
+			IModule module = null;
+			
+			if (element instanceof IModule) {
+				module = (IModule) element;
+			} else if (element instanceof ModuleServer) {
+				IModule[] modules = ((ModuleServer) element).module;
+				module = modules[modules.length - 1];
+			}
+			if (module == null)
+				return "";
+			
+			IProject project = module.getProject();
+			
+			if (project == null)
+				return "";
+			
+			String text2 = PlatformUI.getWorkbench().getDecoratorManager().decorateText(text, project);
+			return text2;
+		} 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 0ff6db2..f58d1a0 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
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * 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
@@ -17,6 +17,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -35,13 +36,17 @@
 import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.server.ui.ServerUICore;
 /**
- * PropertyPage for IProjects. It shows the server and runtime preference for the project.
+ * PropertyPage for IProjects. It shows the server preference for the project.
  */
 public class ProjectPropertyPage extends PropertyPage {
 	protected IProject project;
 	protected IModule module;
 	protected IServer server;
 
+	protected Table table;
+	protected int count;
+	protected IServer defaultServer;
+
 	/**
 	 * ProjectPropertyPage constructor comment.
 	 */
@@ -60,7 +65,7 @@
 			IAdaptable element = getElement();
 			if (element instanceof IProject)
 				project = (IProject) element;
-
+			
 			Composite composite = new Composite(parent, SWT.NONE);
 			GridLayout layout = new GridLayout();
 			layout.marginHeight = 0;
@@ -91,7 +96,7 @@
 					label.setText(Messages.prefProject);
 					data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
 					label.setLayoutData(data);
-				
+					
 					Label moduleKind = new Label(composite, SWT.NONE);
 					data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
 					data.horizontalSpan = 3;
@@ -99,8 +104,8 @@
 					moduleKind.setText(module.getName() + " (" + mt.getName() + ")");
 				}
 				
-				IServer prefServer = ServerCore.getDefaultServer(module);
-	
+				defaultServer = ServerCore.getDefaultServer(module);
+				
 				label = new Label(composite, SWT.NONE);
 				label.setText(Messages.prefProjectDefaultServer);
 				data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
@@ -114,7 +119,7 @@
 					data.horizontalSpan = 3;
 					label.setLayoutData(data);
 				} else {
-					final Table table = new Table(composite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL);
+					table = new Table(composite, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL);
 					data = new GridData(GridData.FILL_HORIZONTAL);
 					data.horizontalSpan = 3;
 					data.heightHint = 70;
@@ -126,33 +131,34 @@
 					//item.setImage();
 					
 					int size2 = servers.length;
-					int count = 0;
+					count = 0;
+					ILabelProvider labelProvider = ServerUICore.getLabelProvider();
 					for (int j = 0; j < size2; j++) {
 						item = new TableItem(table, SWT.NONE);
-						item.setText(ServerUICore.getLabelProvider().getText(servers[j]));
-						item.setImage(ServerUICore.getLabelProvider().getImage(servers[j]));
+						item.setText(labelProvider.getText(servers[j]));
+						item.setImage(labelProvider.getImage(servers[j]));
 						item.setData(servers[j]);
-						if (servers[j].equals(prefServer))
+						if (servers[j].equals(defaultServer))
 							count = j + 1;
 					}
-
+					labelProvider.dispose();
+					
 					table.setSelection(count);
-
+					
 					table.addSelectionListener(new SelectionAdapter() {
 						public void widgetSelected(SelectionEvent event) {
 							int index = table.getSelectionIndex();
-							if (index == 0) {
+							if (index == 0)
 								server = null;
-							} else if (index > 0) {
+							else if (index > 0)
 								server = servers[index-1];
-							}
 						}
 					});
 				}
 			}
 			
 			Dialog.applyDialogFont(composite);
-
+			
 			return composite;
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error creating project property page", e);
@@ -169,7 +175,7 @@
 	protected static IServer[] getServersBySupportedModule(IModule module) {
 		if (module == null)
 			return new IServer[0];
-
+		
 		// do it the slow way - go through all servers and
 		// see if this module is configured in it
 		List list = new ArrayList();
@@ -177,7 +183,9 @@
 		if (servers != null) {
 			int size = servers.length;
 			for (int i = 0; i < size; i++) {
-				if (ServerUtil.isSupportedModule(servers[i].getServerType().getRuntimeType().getModuleTypes(), module.getModuleType()))
+				if (servers[i].getServerType() != null &&
+					servers[i].getServerType().getRuntimeType() != null &&
+					ServerUtil.isSupportedModule(servers[i].getServerType().getRuntimeType().getModuleTypes(), module.getModuleType()))
 					list.add(servers[i]);
 			}
 		}
@@ -187,6 +195,15 @@
 		return allServers;
 	}
 
+	protected void performDefaults() {
+		if (table != null) {
+			table.select(count);
+			server = defaultServer;
+		}
+		
+		super.performDefaults();
+	}
+
 	/**
 	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
 	 */
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeMarkerResolution.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeMarkerResolution.java
new file mode 100644
index 0000000..99252ad
--- /dev/null
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/RuntimeMarkerResolution.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.ui.internal;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.jface.preference.PreferenceDialog;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IMarkerResolution2;
+import org.eclipse.ui.dialogs.PreferencesUtil;
+
+public class RuntimeMarkerResolution implements IMarkerResolution2 {
+	public String getDescription() {
+		return Messages.wizNewRuntimeDescription;
+	}
+
+	public Image getImage() {
+		return ImageResource.getImage(ImageResource.IMG_SERVER);
+	}
+
+	public String getLabel() {
+		return Messages.wizNewServerRuntimeCreate;
+	}
+
+	public void run(IMarker marker) {
+		showPreferencePage();
+	}
+
+	protected boolean showPreferencePage() {
+		String id = "org.eclipse.wst.server.ui.preferencePage";
+		String id2 = "org.eclipse.wst.server.ui.runtime.preferencePage";
+		final PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(null, id2, new String[] { id, id2 }, null);
+		return (dialog.open() == Window.OK);
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerLabelProvider.java
index f9ad60d..9547c4b 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
@@ -10,20 +10,72 @@
  **********************************************************************/
 package org.eclipse.wst.server.ui.internal;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.model.IWorkbenchAdapter;
 
 import org.eclipse.wst.server.core.*;
 import org.eclipse.wst.server.core.internal.IClient;
+import org.eclipse.wst.server.core.internal.Trace;
+import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
 /**
  * A label provider for all server related objects.
  */
 public class ServerLabelProvider implements ILabelProvider {
+	private ILabelDecorator decorator;
+	protected transient List listeners;
+	protected ILabelProviderListener providerListener;
+
 	public ServerLabelProvider() {
-		// do nothing
+		decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
+		providerListener = new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				fireListener(event);
+			}
+		};
+		decorator.addListener(providerListener);
+	}
+
+	public void addListener(ILabelProviderListener listener) {
+		if (listener == null)
+			throw new IllegalArgumentException("Listener cannot be null");
+		
+		if (listeners == null)
+			listeners = new ArrayList();
+		listeners.add(listener);
+	}
+
+	public void removeListener(ILabelProviderListener listener) {
+		if (listener == null)
+			throw new IllegalArgumentException("Listener cannot be null");
+		
+		if (listeners != null)
+			listeners.remove(listener);
+	}
+
+	protected void fireListener(LabelProviderChangedEvent event) {
+		if (listeners == null || listeners.isEmpty())
+			return;
+		
+		int size = listeners.size();
+		ILabelProviderListener[] srl = new ILabelProviderListener[size];
+		listeners.toArray(srl);
+		
+		for (int i = 0; i < size; i++) {
+			try {
+				srl[i].labelProviderChanged(event);
+			} catch (Exception e) {
+				Trace.trace(Trace.WARNING, "  Error firing label change event to " + srl[i], e);
+			}
+		}
 	}
 
 	protected Image getModuleImage(String typeId) {
@@ -38,7 +90,7 @@
 		}
 		return image;
 	}
-	
+
 	protected ImageDescriptor getModuleImageDescriptor(String typeId) {
 		if (typeId == null)
 			return null;
@@ -87,6 +139,20 @@
 		return null;
 	}
 
+	private Image decorate(Image image, Object obj) {
+		Image dec = decorator.decorateImage(image, obj);
+		if (dec != null)
+			return dec;
+		return image;
+	}
+
+	private String decorate(String text, Object obj) {
+		String dec = decorator.decorateText(text, obj);
+		if (dec != null)
+			return dec;
+		return text;
+	}
+
 	/*
 	 * @see ILabelProvider#getImage(Object)
 	 */
@@ -94,26 +160,26 @@
 		try {
 			if (element instanceof IRuntimeType) {
 				IRuntimeType runtimeType = (IRuntimeType) element;
-				return ImageResource.getImage(runtimeType.getId());
+				return decorate(ImageResource.getImage(runtimeType.getId()), runtimeType);
 			} else if (element instanceof IRuntime) {
 				IRuntime runtime = (IRuntime) element;
-				return ImageResource.getImage(runtime.getRuntimeType().getId());
+				return decorate(ImageResource.getImage(runtime.getRuntimeType().getId()), runtime);
 			} else if (element instanceof IServerType) {
 				IServerType serverType = (IServerType) element;
-				return ImageResource.getImage(serverType.getId());
+				return decorate(ImageResource.getImage(serverType.getId()), serverType);
 			} else if (element instanceof IServer) {
 				IServer server = (IServer) element;
 				if (server.getServerType() == null)
 					return null;
 				
-				return ImageResource.getImage(server.getServerType().getId());
+				return decorate(ImageResource.getImage(server.getServerType().getId()), server);
 			} else if (element instanceof IModule) {
 				IModule module = (IModule) element;
 				IModuleType mt = module.getModuleType();
 				if (mt == null)
 					return null;
 				
-				return getModuleImage(mt.getId());
+				return decorate(getModuleImage(mt.getId()), module);
 			} else if (element instanceof IModule[]) {
 				IModule[] modules = (IModule[]) element;
 				IModule module = modules[modules.length - 1];
@@ -121,7 +187,15 @@
 				if (mt == null)
 					return null;
 				
-				return getModuleImage(mt.getId());
+				return decorate(getModuleImage(mt.getId()), modules);
+			} else if (element instanceof ModuleServer) {
+				ModuleServer ms = (ModuleServer) element;
+				IModule module = ms.module[ms.module.length - 1];
+				IModuleType mt = module.getModuleType();
+				if (mt == null)
+					return null;
+				
+				return decorate(getModuleImage(mt.getId()), ms);
 			}
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Could not get image descriptor", e);
@@ -142,37 +216,41 @@
 	public String getText(Object element) {
 		if (element == null)
 			return "";
-
+		
 		if (element instanceof IRuntime) {
-			return getString(((IRuntime) element).getName());
+			IRuntime runtime = (IRuntime) element;
+			return decorate(getString((runtime).getName()), runtime);
 		} else if (element instanceof IServer) {
-			return getString(((IServer) element).getName());
+			IServer server = (IServer) element;
+			return decorate(getString((server).getName()), server);
 		} else if (element instanceof IRuntimeType) {
-			return ((IRuntimeType) element).getName();
+			IRuntimeType rt = (IRuntimeType) element;
+			return decorate(rt.getName(), rt);
 		} else if (element instanceof IServerType) {
-			return ((IServerType) element).getName();
+			IServerType st = (IServerType) element;
+			return decorate(st.getName(), st);
 		} else if (element instanceof IClient) {
-			return ((IClient) element).getName();
+			IClient client = (IClient) element;
+			return decorate(client.getName(), client);
 		} else if (element instanceof IModule) {
-			return ((IModule) element).getName();
+			IModule module = (IModule) element;
+			return decorate(module.getName(), module);
 		} else if (element instanceof IModule[]) {
 			IModule[] modules = (IModule[]) element;
-			return modules[modules.length - 1].getName();
+			IModule module = modules[modules.length - 1];
+			return decorate(module.getName(), modules);
+		} else if (element instanceof ModuleServer) {
+			ModuleServer ms = (ModuleServer) element;
+			IModule module = ms.module[ms.module.length - 1];
+			return decorate(module.getName(), ms);
 		} else if (element instanceof IWorkbenchAdapter) {
 			return ((IWorkbenchAdapter) element).getLabel(null);
 		}
-
+		
 		return "";
 	}
 
 	/*
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	/*
 	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
 	 */
 	public boolean isLabelProperty(Object element, String property) {
@@ -180,16 +258,9 @@
 	}
 
 	/*
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-	
-	/*
 	 * @see IBaseLabelProvider#dispose()
 	 */
 	public void dispose() {
-		// do nothing
+		decorator.removeListener(providerListener);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/ServerPreferencePage.java
index b5c8396..d226952 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
@@ -181,6 +181,7 @@
 		
 		machineSpeedCombo = new Combo(composite, SWT.READ_ONLY);
 		String[] items = new String[] {
+			Messages.prefMachineSpeedUnlimited,
 			Messages.prefMachineSpeedVerySlow,
 			Messages.prefMachineSpeedSlow,
 			Messages.prefMachineSpeedAverage,
@@ -188,7 +189,11 @@
 			Messages.prefMachineSpeedVeryFast
 		};
 		machineSpeedCombo.setItems(items);
-		machineSpeedCombo.select((preferences.getMachineSpeed() - 1) / 2);
+		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);
@@ -221,7 +226,7 @@
 		autoPublishRemote.setSelection(preferences.getDefaultAutoPublishRemote());
 		autoPublishRemoteTime.setSelection(preferences.getDefaultAutoPublishRemoteTime());
 		
-		machineSpeedCombo.select((preferences.getDefaultMachineSpeed() - 1) / 2);
+		machineSpeedCombo.select((preferences.getDefaultMachineSpeed() - 1) / 2 + 1);
 		
 		super.performDefaults();
 	}
@@ -239,7 +244,12 @@
 		preferences.setAutoPublishRemote(autoPublishRemote.getSelection());
 		preferences.setAutoPublishRemoteTime(autoPublishRemoteTime.getSelection());
 		
-		preferences.setMachineSpeed(machineSpeedCombo.getSelectionIndex() * 2 + 1);
+		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/actions/RunOnServerActionDelegate.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/actions/RunOnServerActionDelegate.java
index f0bf7ce..24b0376 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
@@ -79,8 +79,8 @@
 	public void init(IWorkbenchWindow newWindow) {
 		window = newWindow;
 	}
-	
-	public IServer getServer(IModule module, String launchMode, IProgressMonitor monitor) {
+
+	public IServer getServer(IModule module, String launchMode, IProgressMonitor monitor) throws CoreException {
 		IServer server = ServerCore.getDefaultServer(module);
 		
 		// ignore preference if the server doesn't support this mode.
@@ -162,14 +162,19 @@
 				shell2 = Display.getDefault().getActiveShell();
 		}
 		final Shell shell = shell2;
-
-		if (moduleArtifact == null || moduleArtifact.getModule() == null) {
+		
+		if (moduleArtifact == null) {
+			EclipseUtil.openError(Messages.errorNoArtifact);
+			Trace.trace(Trace.FINEST, "No module artifact found");
+			return;
+		}
+		if (moduleArtifact.getModule() == null) { // 149425
 			EclipseUtil.openError(Messages.errorNoModules);
-			Trace.trace(Trace.FINEST, "No modules");
+			Trace.trace(Trace.FINEST, "Module artifact not contained in a module");
 			return;
 		}
 		final IModule module = moduleArtifact.getModule();
-
+		
 		// check for servers with the given start mode
 		IServer[] servers = ServerCore.getServers();
 		boolean found = false;
@@ -187,23 +192,22 @@
 				}
 			}
 		}
-
+		
 		if (!found) {
 			// no existing server supports the project and start mode!
 			// check if there might be another one that can be created
 			IServerType[] serverTypes = ServerCore.getServerTypes();
-			boolean found2 = false;
 			if (serverTypes != null) {
 				int size = serverTypes.length;
-				for (int i = 0; i < size && !found2; i++) {
+				for (int i = 0; i < size && !found; i++) {
 					IServerType type = serverTypes[i];
 					IModuleType[] moduleTypes = type.getRuntimeType().getModuleTypes();
 					if (type.supportsLaunchMode(launchMode2) && ServerUtil.isSupportedModule(moduleTypes, module.getModuleType())) {
-						found2 = true;
+						found = true;
 					}
 				}
 			}
-			if (!found2) {
+			if (!found) {
 				EclipseUtil.openError(Messages.errorNoServer);
 				Trace.trace(Trace.FINEST, "No server for start mode");
 				return;
@@ -212,9 +216,16 @@
 		
 		if (!ServerUIPlugin.saveEditors())
 			return;
-
+		
 		tasksRun = false;
-		final IServer server = getServer(module, launchMode2, null);
+		IServer server2 = null;
+		try {
+			server2 = getServer(module, launchMode2, null);
+		} catch (CoreException ce) {
+			EclipseUtil.openError(shell, ce.getLocalizedMessage());
+			return;
+		}
+		final IServer server = server2;
 		//if (monitor.isCanceled())
 		//	return;
 		
@@ -225,7 +236,7 @@
 			Trace.trace(Trace.SEVERE, "No server found");
 			return;
 		}
-
+		
 		if (!ServerUIPlugin.promptIfDirty(shell, server))
 			return;
 		
@@ -317,7 +328,7 @@
 							breakpointManager.setEnabled(false);
 							disabledBreakpoints = true;
 							launchMode = mode;
-						} else if (result == 1)
+						} else if (result == 2)
 							launchMode = mode;
 						else // result == 9
 							return;
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 bfa2e0c..cd5470d 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
@@ -44,10 +44,13 @@
 		IUndoableOperation command;
 		String id;
 	}
-	
+
 	// commands in the undo history
 	protected List undoList = new ArrayList();
 
+	// size of the undo stack on last save
+	protected int undoSaveIndex = 0;
+
 	// commands in the redo history
 	protected List redoList = new ArrayList();
 
@@ -62,10 +65,6 @@
 		// true if the resource is read-only
 		boolean isReadOnly;
 		
-		// true if all changes can be undone, false if
-		// a non-reversable change has been made
-		boolean canCompletelyUndo = true;
-		
 		// the element id
 		String id;
 		
@@ -313,7 +312,7 @@
 		if (command.canUndo())
 			addToUndoList(src);
 		else {
-			info.canCompletelyUndo = false;
+			undoSaveIndex = -1;
 			clearUndoList(id);
 		}
 
@@ -497,7 +496,7 @@
 		CommandManagerInfo info = getExistingCommandManagerInfo(id);
 		if (info.isDirty == dirty)
 			return;
-
+		
 		info.isDirty = dirty;
 		firePropertyChangeEvent(PROP_DIRTY, id, null);
 	}
@@ -515,20 +514,22 @@
 		}
 		if (src == null)
 			return;
-
+		
 		try {
 			src.command.undo(null, null);
 		} catch (ExecutionException ee) {
 			// do something
 		}
+		
 		undoList.remove(src);
 		firePropertyChangeEvent(PROP_UNDO, src.id, null);
 		redoList.add(src);
 		firePropertyChangeEvent(PROP_REDO, src.id, null);
-
-		CommandManagerInfo info = getExistingCommandManagerInfo(src.id);
-		if (info.canCompletelyUndo && getUndoCommand(src.id) == null)
+		
+		if (undoSaveIndex == undoList.size())
 			setDirtyState(src.id, false);
+		else
+			setDirtyState(src.id, true);
 	}
 
 	/**
@@ -554,8 +555,11 @@
 		firePropertyChangeEvent(PROP_REDO, src.id, null);
 		undoList.add(src);
 		firePropertyChangeEvent(PROP_UNDO, src.id, null);
-
-		setDirtyState(src.id, true);
+		
+		if (undoSaveIndex == undoList.size())
+			setDirtyState(src.id, false);
+		else
+			setDirtyState(src.id, true);
 	}
 
 	/**
@@ -564,13 +568,10 @@
 	 * @param id an id
 	 */
 	public void resourceSaved(String id) {
-		CommandManagerInfo info = getExistingCommandManagerInfo(id);
-		//clearUndoList(resource);
-		//clearRedoList(resource);
-		info.canCompletelyUndo = true;
+		undoSaveIndex = undoList.size();
 		setDirtyState(id, false);
 	}
-	
+
 	/**
 	 * Return an array of read-only files.
 	 * 
@@ -596,7 +597,7 @@
 		}
 		return null;
 	}
-	
+
 	/**
 	 * 
 	 */
@@ -610,7 +611,7 @@
 
 		return getReadOnlyFiles(info.wc);
 	}
-	
+
 	protected IFile[] getReadOnlyFiles(String id) {
 		List list = new ArrayList();
 		IFile[] files = getServerResourceFiles(id);
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 42a8e13..49b88ca 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
@@ -81,12 +81,12 @@
 				try {
 					checkResourceState();
 				} finally {
-					fIsHandlingActivation= false;
+					fIsHandlingActivation = false;
 				}
 			}
 		}
 	}
-	
+
 	class LifecycleListener implements IServerLifecycleListener {
 		public void serverAdded(IServer oldServer) {
 			// do nothing
@@ -110,33 +110,33 @@
 
 	protected IAction undoAction;
 	protected IAction redoAction;
-	
+
 	protected TextAction cutAction;
 	protected TextAction copyAction;
 	protected TextAction pasteAction;
 	protected boolean updatingActions;
-	
+
 	protected IAction[] editorActions;
 
 	protected java.util.List serverPages;
-	
+
 	// on focus change flag
 	protected boolean resourceDeleted;
-	
+
 	// input given to the contained pages
 	protected IServerEditorPartInput editorPartInput;
-	
+
 	// status line and status
 	protected IStatusLineManager status;
 	protected StatusLineContributionItem statusItem;
-	
+
 	private ActivationListener activationListener = new ActivationListener();
 	protected LifecycleListener resourceListener;
-	
-	// Used for disabling resource change check when saving through editor.
+
+	// used for disabling resource change check when saving through editor
 	protected boolean isSaving = false;
-	
-	protected static Map pageToFactory = new HashMap();
+
+	protected Map pageToFactory = new HashMap();
 
 	/**
 	 * ServerEditor constructor comment.
@@ -196,7 +196,7 @@
 		actionList.toArray(editorActions);
 	}
 
-	public static IServerEditorPartFactory getPageFactory(ServerEditorPart part) {
+	public IServerEditorPartFactory getPageFactory(ServerEditorPart part) {
 		try {
 			return (IServerEditorPartFactory) pageToFactory.get(part);
 		} catch (Exception e) {
@@ -287,11 +287,14 @@
 		}
 		
 		super.dispose();
-		if (commandManager != null)
+		if (commandManager != null) {
 			commandManager.removePropertyChangeListener(listener);
-
-		if (serverId != null)
-			commandManager.releaseCommandManager(serverId);
+			
+			if (serverId != null)
+				commandManager.releaseCommandManager(serverId);
+			
+			commandManager = null;
+		}
 	}
 
 	/* (non-Javadoc)
@@ -356,6 +359,7 @@
 			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
 			if (server != null)
 				setPartName(labelProvider.getText(server));
+			labelProvider.dispose();
 		} catch (Exception e) {
 			Trace.trace(Trace.SEVERE, "Error saving server editor", e);
 			
@@ -679,11 +683,13 @@
 			serverName = server.getName();
 		} else
 			setPartName("-");
-
+		labelProvider.dispose();
+		labelProvider = null;
+		
 		cutAction = new TextAction(site.getShell().getDisplay(), TextAction.CUT_ACTION);
 		copyAction = new TextAction(site.getShell().getDisplay(), TextAction.COPY_ACTION);
 		pasteAction = new TextAction(site.getShell().getDisplay(), TextAction.PASTE_ACTION);
-
+		
 		listener = new PropertyChangeListener() {
 			public void propertyChange(PropertyChangeEvent event) {
 				if (GlobalCommandManager.PROP_DIRTY.equals(event.getPropertyName())) {
@@ -709,7 +715,7 @@
 		};
 		if (server != null && commandManager.isDirty(serverId))
 			firePropertyChange(PROP_DIRTY);
-
+		
 		commandManager.addPropertyChangeListener(listener);
 		
 		// create editor input
@@ -889,7 +895,7 @@
 	public void setFocus() {
 		super.setFocus();
 	}
-	
+
 	/**
 	 * 
 	 */
@@ -908,7 +914,7 @@
 				message = NLS.bind(Messages.editorResourceDeleteServerMessage, server.getName());
 			String[] labels = new String[] {Messages.editorResourceDeleteSave, IDialogConstants.CLOSE_LABEL};
 			MessageDialog dialog = new MessageDialog(getEditorSite().getShell(), title, null, message, MessageDialog.INFORMATION, labels, 0);
-
+			
 			if (dialog.open() == 0)
 				doSave(new NullProgressMonitor());
 			else
@@ -916,7 +922,7 @@
 			return;
 		}
 		resourceDeleted = false;
-
+		
 		// check for server changes
 		if (serverId != null) {
 			if (!commandManager.isDirty(serverId)) {
@@ -932,10 +938,10 @@
 				commandManager.setReadOnly(serverId, false);
 			commandManager.updateTimestamps(serverId);
 		}
-
+		
 		updateStatusLine();
 	}
-	
+
 	/**
 	 * Set the title tooltip.
 	 * 
@@ -950,7 +956,7 @@
 		else
 			return "error";
 	}
-	
+
 	public int getOrientation() {
 		return Window.getDefaultOrientation();
 	}
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java
index bca43f3..8f56608 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/ServerResourceCommandManager.java
@@ -31,7 +31,7 @@
 		this.commandManager = commandManager;
 		this.id = id;
 	}
-	
+
 	public boolean isReadOnly() {
 		return commandManager.isReadOnly(id);
 	}
@@ -95,4 +95,8 @@
 		// allow edit
 		return true;
 	}
+
+	public ServerEditor getServerEditor() {
+		return editor;
+	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java
index 5452461..b634c9e 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ModuleServer.java
@@ -20,12 +20,12 @@
 	 * The server
 	 */
 	public IServer server;
-	
+
 	/**
 	 * The module
 	 */
 	public IModule[] module;
-	
+
 	/**
 	 * Create a new module-server.
 	 * 
@@ -35,8 +35,10 @@
 	public ModuleServer(IServer server, IModule[] module) {
 		this.server = server;
 		this.module = module;
+		if (module == null)
+			throw new IllegalArgumentException();
 	}
-	
+
 	/**
 	 * @see Object#equals(Object)
 	 */
@@ -45,7 +47,11 @@
 			return false;
 		
 		ModuleServer ms = (ModuleServer) obj;
-		if (!ms.server.equals(server))
+		
+		if (ms.server == null && server != null)
+			return false;
+		
+		if (ms.server != null && !ms.server.equals(server))
 			return false;
 		
 		if (ms.module.length != module.length)
@@ -58,13 +64,16 @@
 		}
 		return true;
 	}
-	
+
 	/**
 	 * @see Object#toString()
 	 */
 	public String toString() {
 		StringBuffer sb = new StringBuffer();
-		sb.append("Server-Module [" + server.getId() + "/" + server.getName() + ", (");
+		if (server != null)
+			sb.append("Server-Module [" + server.getId() + "/" + server.getName() + ", (");
+		else
+			sb.append("Server-Module [null, (");
 		
 		int size = module.length;
 		for (int i = 0; i < size; i++) {
@@ -75,4 +84,4 @@
 		sb.append(")]");
 		return sb.toString();
 	}
-}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServerTableLabelProvider.java
index c82a066..39b66d6 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
@@ -11,7 +11,8 @@
 package org.eclipse.wst.server.ui.internal.view.servers;
 
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ILabelDecorator;
+import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 
 import org.eclipse.ui.ISharedImages;
@@ -19,23 +20,23 @@
 import org.eclipse.wst.server.core.IServerType;
 import org.eclipse.wst.server.core.internal.Server;
 import org.eclipse.wst.server.ui.ServerUICore;
-import org.eclipse.wst.server.ui.internal.DefaultServerLabelDecorator;
 import org.eclipse.wst.server.ui.internal.ImageResource;
 import org.eclipse.wst.server.ui.internal.Messages;
 import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
 import org.eclipse.wst.server.ui.internal.provisional.UIDecoratorManager;
+import org.eclipse.wst.server.ui.internal.viewers.BaseLabelProvider;
 import org.eclipse.swt.graphics.Image;
 /**
  * Server table label provider.
  */
-public class ServerTableLabelProvider implements ITableLabelProvider {
+public class ServerTableLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
 	public static final String[] syncState = new String[] {
 		Messages.viewSyncOkay,
 		Messages.viewSyncRestart,
 		Messages.viewSyncPublish,
 		Messages.viewSyncRestartPublish,
 		Messages.viewSyncPublishing};
-	
+
 	public static final String[] syncStateUnmanaged = new String[] {
 		Messages.viewSyncOkay2,
 		Messages.viewSyncRestart2,
@@ -44,9 +45,7 @@
 		Messages.viewSyncPublishing2};
 
 	private int count = 0;
-	
-	protected DefaultServerLabelDecorator decorator = new DefaultServerLabelDecorator();
-	
+
 	protected IServer defaultServer;
 
 	/**
@@ -56,18 +55,19 @@
 		super();
 	}
 
-	public void addListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
-	public void dispose() {
-		decorator.dispose();
+	/**
+	 * ServerTableLabelProvider constructor comment.
+	 * 
+	 * @param decorator a label decorator
+	 */
+	public ServerTableLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
 	}
 
 	public void setDefaultServer(IServer ds) {
 		defaultServer = ds;
 	}
-	
+
 	public IServer getDefaultServer() {
 		return defaultServer;
 	}
@@ -76,10 +76,21 @@
 		if (element instanceof ModuleServer) {
 			ModuleServer ms = (ModuleServer) element;
 			if (columnIndex == 0) {
-				return ServerUICore.getLabelProvider().getImage(ms.module[ms.module.length - 1]);
-			} else if (columnIndex == 1)
+				//return ServerUICore.getLabelProvider().getImage(ms.module[ms.module.length - 1]);
+				ILabelProvider labelProvider = ServerUICore.getLabelProvider();
+				Image image = labelProvider.getImage(ms.module[ms.module.length - 1]);
+				labelProvider.dispose();
+				if (decorator != null) {
+					Image dec = decorator.decorateImage(image, ms);
+					if (dec != null)
+						return dec;
+				}
+				return image;
+			} else if (columnIndex == 1) {
+				if (ms.server == null)
+					return null;
 				return getStateImage(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
-			else if (columnIndex == 2) {
+			} else if (columnIndex == 2) {
 				IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
 				if (status != null) {
 					ISharedImages sharedImages = ServerUIPlugin.getInstance().getWorkbench().getSharedImages();
@@ -97,11 +108,17 @@
 		if (columnIndex == 0) {
 			if (server.getServerType() != null) {
 				Image image = ImageResource.getImage(server.getServerType().getId());
-				IStatus status = ((Server) server).getServerStatus();
+				/*IStatus status = ((Server) server).getServerStatus();
 				if (defaultServer != null && defaultServer.equals(server) || status != null) {
 					Image decorated = decorator.decorateImage(image, element);
 					if (decorated != null)
 						return decorated;
+				}*/
+				//return image;
+				if (decorator != null) {
+					Image dec = decorator.decorateImage(image, server);
+					if (dec != null)
+						return dec;
 				}
 				return image;
 			}
@@ -123,9 +140,11 @@
 			if (columnIndex == 0) {
 				int size = ms.module.length;
 				return ms.module[size - 1].getName();
-			} else if (columnIndex == 1)
+			} else if (columnIndex == 1) {
+				if (ms.server == null)
+					return "";
 				return getStateLabel(ms.server.getServerType(), ms.server.getModuleState(ms.module), null);
-			else if (columnIndex == 2) {
+			} else if (columnIndex == 2) {
 				IStatus status = ((Server) ms.server).getModuleStatus(ms.module);
 				if (status != null)
 					return status.getMessage();
@@ -187,10 +206,6 @@
 		return false;
 	}
 
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-
 	/**
 	 * Returns an image representing the server's state.
 	 * 
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 e713894..b0d1ac3 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
@@ -24,7 +24,6 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISelectionListener;
 import org.eclipse.ui.actions.ActionFactory;
 /**
  * Tree view showing servers and their associations.
@@ -37,15 +36,13 @@
 	protected IServerListener serverListener;
 
 	protected static Object deletedElement = null;
-	
-	//protected static Shell fShell;
 
 	// servers that are currently publishing and starting
 	protected static List publishing = new ArrayList();
 	protected static List starting = new ArrayList();
 	
 	protected ServerTableLabelProvider labelProvider;
-	protected ISelectionListener dsListener;
+	//protected ISelectionListener dsListener;
 
 	protected ServersView view;
 	
@@ -220,22 +217,33 @@
 				createHoverHelp(tree.getShell(), tree.toDisplay(event.x, event.y));
 			}
 		});*/
-	
+		
 		setContentProvider(new ServerContentProvider());
 		labelProvider = new ServerTableLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						refresh(obj[i], true);
+				}
+			}
+		});
 		setLabelProvider(labelProvider);
 		setSorter(new ViewerSorter() {
 			// empty
 		});
-	
+		
 		setInput(ROOT);
-	
+		
 		addListeners();
 		
 		IActionBars actionBars = view.getViewSite().getActionBars();
 		actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), new ServerAction(getControl().getShell(), this, "Delete it!", ServerActionHelper.ACTION_DELETE));
 		
-		// TODO: add default server listener
 		/*dsListener = new ISelectionListener() {
 			public void selectionChanged(IWorkbenchPart part, ISelection selection) {
 				if (!(selection instanceof IStructuredSelection))
@@ -258,16 +266,16 @@
 				}
 				if (proj != null) {
 					final IProject project = proj;
+					final IModule module = ServerUtil.getModule(project);
 					Display.getDefault().asyncExec(new Runnable() {
 						public void run() {
 							if (getTree() == null || getTree().isDisposed())
 								return;
 
 							IServer defaultServer = null;
-							if (project != null) {
-								IProjectProperties props = ServerCore.getProjectProperties(project);
-								defaultServer = props.getDefaultServer();
-							}
+							if (module != null)
+								defaultServer = ServerCore.getDefaultServer(module);
+							
 							IServer oldDefaultServer = labelProvider.getDefaultServer();
 							if ((oldDefaultServer == null && defaultServer == null)
 									|| (oldDefaultServer != null && oldDefaultServer.equals(defaultServer)))
@@ -378,8 +386,9 @@
 
 	protected void handleDispose(DisposeEvent event) {
 		stopThread();
-		//view.getViewSite().getPage().removeSelectionListener(dsListener);
-
+		//if (dsListener != null)
+		//	view.getViewSite().getPage().removeSelectionListener(dsListener);
+		
 		ServerCore.removeServerLifecycleListener(serverResourceListener);
 		
 		// remove listeners from server
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java
index ad30e86..bf170cc 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/view/servers/ServersViewDropAdapter.java
@@ -1,5 +1,5 @@
 /**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
+ * 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
@@ -10,7 +10,12 @@
  **********************************************************************/
 package org.eclipse.wst.server.ui.internal.view.servers;
 
+import java.util.Iterator;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
@@ -20,10 +25,16 @@
 import org.eclipse.swt.dnd.DropTargetEvent;
 import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.TransferData;
+import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.part.ResourceTransfer;
 import org.eclipse.ui.views.navigator.LocalSelectionTransfer;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.ui.internal.EclipseUtil;
+import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
+import org.eclipse.wst.server.ui.internal.Trace;
 import org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate;
 /**
  *
@@ -32,7 +43,7 @@
 	protected ServersViewDropAdapter(Viewer viewer) {
 		super(viewer);
 	}
-	
+
 	public void dragEnter(DropTargetEvent event) {
 		if (event.detail == DND.DROP_DEFAULT)
 			event.detail = DND.DROP_COPY;
@@ -49,19 +60,69 @@
 		if (server == null)
 			return false;
 		
+		Iterator iterator = null;
+		if (data instanceof IStructuredSelection) {
+			IStructuredSelection sel = (IStructuredSelection) data;
+			iterator = sel.iterator();
+		}
+		
+		if (iterator == null)
+			return false;
+		
+		boolean b = true;
+		while (iterator.hasNext()) {
+			Object data2 = iterator.next();
+			if (!doSel(server, data2))
+				b = false;
+		}
+		return b;
+	}
+
+	protected boolean doSel(IServer server, Object data) {
+		// check if the selection is a project (module) that we can add to the server
+		IProject project = (IProject) Platform.getAdapterManager().getAdapter(data, IProject.class);
+		if (project != null) {
+			IModule[] modules = ServerUtil.getModules(project);
+			if (modules != null && modules.length == 1) {
+				try {
+					IServerWorkingCopy wc = server.createWorkingCopy();
+					wc.modifyModules(modules, null, null);
+					wc.save(false, null);
+				} catch (final CoreException ce) {
+					final Shell shell = getViewer().getControl().getShell();
+					shell.getDisplay().asyncExec(new Runnable() {
+						public void run() {
+							EclipseUtil.openError(shell, ce.getLocalizedMessage());
+						}
+					});
+				}
+				return true;
+			}
+		}
+		
+		// otherwise, try Run on Server
 		final IServer finalServer = server;
 		RunOnServerActionDelegate ros = new RunOnServerActionDelegate() {
-			public IServer getServer(IModule module, String launchMode, IProgressMonitor monitor) {
+			public IServer getServer(IModule module, String launchMode, IProgressMonitor monitor) throws CoreException {
+				if (!ServerUIPlugin.isCompatibleWithLaunchMode(finalServer, launchMode))
+					return null;
+				
+				if (!ServerUtil.containsModule(finalServer, module, monitor)) {
+					IServerWorkingCopy wc = finalServer.createWorkingCopy();
+					try {
+						ServerUtil.modifyModules(wc, new IModule[] { module }, new IModule[0], monitor);
+						wc.save(false, monitor);
+					} catch (CoreException ce) {
+						throw ce;
+					}
+				}
+				
 				return finalServer;
 			}
 		};
 		Action action = new Action() {
 			//
 		};
-		if (data instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection) data;
-			data = sel.getFirstElement();
-		}
 		ros.selectionChanged(action, new StructuredSelection(data));
 		
 		//if (!action.isEnabled())
@@ -80,7 +141,7 @@
 		//if (!ServerUIPlugin.hasModuleArtifact(target))
 		//	return false;
 		
-		System.out.println("Target: " + target + " " + operation + " " + transferType);
+		Trace.trace(Trace.FINER, "Drop target: " + target + " " + operation + " " + transferType);
 		
 		if (FileTransfer.getInstance().isSupportedType(transferType))
 			return true;
@@ -91,7 +152,7 @@
 		
 		return false;
 	}
-	
+
 	/**
     * Returns the resource selection from the LocalSelectionTransfer.
     * 
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java
index 44f66c0..2565a96 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/AbstractTreeLabelProvider.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.ui.ISharedImages;
 import org.eclipse.ui.PlatformUI;
@@ -18,13 +19,22 @@
  */
 public abstract class AbstractTreeLabelProvider extends BaseLabelProvider {
 	/**
-	 * AbstractTreeLabelProvider constructor comment.
+	 * A standard tree label provider.
 	 */
 	public AbstractTreeLabelProvider() {
 		super();
 	}
 
 	/**
+	 * A standard tree label provider.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public AbstractTreeLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
+	}
+
+	/**
 	 * @see BaseLabelProvider#getImage(Object)
 	 */
 	public Image getImage(Object element) {
@@ -32,9 +42,15 @@
 			ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
 			return sharedImages.getImage(ISharedImages.IMG_OBJ_FOLDER);
 		}
-		return getImageImpl(element);
+		Image image = getImageImpl(element);
+		if (decorator != null) {
+			Image dec = decorator.decorateImage(image, element);
+			if (dec != null)
+				return dec;
+		}
+		return image;
 	}
-	
+
 	/**
 	 * Return an image for the given element.
 	 *  
@@ -50,9 +66,15 @@
 		if (element instanceof ServerTreeContentProvider.TreeElement) {
 			return ((ServerTreeContentProvider.TreeElement) element).text;
 		}
-		return getTextImpl(element);
+		String text = getTextImpl(element);
+		if (decorator != null) {
+			String dec = decorator.decorateText(text, element);
+			if (dec != null && !dec.equals(""))
+				return dec;
+		}
+		return text;
 	}
-	
+
 	/**
 	 * Return a label for the given element.
 	 *  
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 aba56f4..a28c598 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
@@ -10,17 +10,58 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.server.core.internal.Trace;
 /**
  * A basic label provider.
  */
 public abstract class BaseLabelProvider implements ILabelProvider {
+	protected ILabelDecorator decorator;
+	private transient List listeners;
+	private ILabelProviderListener providerListener;
+
 	/**
-	 * BaseLabelProvider constructor comment.
+	 * A basic ILabelProvider with no decorator.
 	 */
 	public BaseLabelProvider() {
+		this(null);
+	}
+
+	/**
+	 * A basic ILabelProvider with support for a decorator.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public BaseLabelProvider(ILabelDecorator decorator) {
+		super();
+		if (decorator == null)
+			decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
+		
+		this.decorator = decorator;
+		if (decorator != null) {
+			providerListener = new ILabelProviderListener() {
+				public void labelProviderChanged(LabelProviderChangedEvent event) {
+					fireListener(event);
+				}
+			};
+			decorator.addListener(providerListener);
+		}
+	}
+
+	/**
+	 * Use this method to avoid having a label decorator. This method is NOT API.
+	 * 
+	 * @param noDecorator
+	 */
+	public BaseLabelProvider(boolean noDecorator) {
 		super();
 	}
 
@@ -28,14 +69,48 @@
 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
 	 */
 	public void addListener(ILabelProviderListener listener) {
-		// do nothing
+		if (listener == null)
+			throw new IllegalArgumentException("Listener cannot be null");
+		
+		if (listeners == null)
+			listeners = new ArrayList();
+		listeners.add(listener);
+	}
+
+	/**
+	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
+	 */
+	public void removeListener(ILabelProviderListener listener) {
+		if (listener == null)
+			throw new IllegalArgumentException("Listener cannot be null");
+		
+		if (listeners != null)
+			listeners.remove(listener);
+	}
+
+	protected void fireListener(LabelProviderChangedEvent event) {
+		if (listeners == null || listeners.isEmpty())
+			return;
+		
+		int size = listeners.size();
+		ILabelProviderListener[] srl = new ILabelProviderListener[size];
+		listeners.toArray(srl);
+		
+		for (int i = 0; i < size; i++) {
+			try {
+				srl[i].labelProviderChanged(event);
+			} catch (Exception e) {
+				Trace.trace(Trace.WARNING, "  Error firing label change event to " + srl[i], e);
+			}
+		}
 	}
 
 	/**
 	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
 	 */
 	public void dispose() {
-		// do nothing
+		if (decorator != null)
+			decorator.removeListener(providerListener);
 	}
 
 	/**
@@ -59,13 +134,6 @@
 		return false;
 	}
 
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// do nothing
-	}
-	
 	protected String notNull(String s) {
 		if (s == null)
 			return "";
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerComposite.java
index 4d00e8a..f9b5f5a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerComposite.java
@@ -35,7 +35,21 @@
 	
 		contentProvider = new InstallableServerContentProvider(InstallableServerContentProvider.STYLE_VENDOR);
 		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(new InstallableServerLabelProvider());
+		
+		ILabelProvider labelProvider = new InstallableServerLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					treeViewer.refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						treeViewer.refresh(obj[i], true);
+				}
+			}
+		});
+		treeViewer.setLabelProvider(labelProvider);
 		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
 
 		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerLabelProvider.java
index 3cb7072..0bc9b2a 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/InstallableServerLabelProvider.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.wst.server.core.internal.IInstallableServer;
 import org.eclipse.wst.server.ui.internal.ImageResource;
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.swt.graphics.Image;
 /**
  * Installable server label provider.
@@ -25,6 +26,15 @@
 	}
 
 	/**
+	 * InstallableServerLabelProvider constructor comment.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public InstallableServerLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
+	}
+
+	/**
 	 * 
 	 */
 	protected Image getImageImpl(Object element) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
index 5406df1..30a0a63 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeComposite.java
@@ -95,11 +95,26 @@
 		});
 		
 		tableViewer.setContentProvider(new RuntimeContentProvider());
-		tableViewer.setLabelProvider(new RuntimeTableLabelProvider());
+		
+		ILabelProvider labelProvider = new RuntimeTableLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					tableViewer.refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						tableViewer.refresh(obj[i], true);
+				}
+			}
+		});
+		tableViewer.setLabelProvider(labelProvider);
+		
 		tableViewer.setInput(AbstractTreeContentProvider.ROOT);
 		tableViewer.setColumnProperties(new String[] {"name", "type"});
 		tableViewer.setSorter(new RuntimeViewerSorter(true));
-
+		
 		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 			public void selectionChanged(SelectionChangedEvent event) {
 				Object obj = getSelection(event.getSelection());
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java
index e1e711f..c8b5a06 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTableLabelProvider.java
@@ -10,6 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeType;
@@ -27,14 +28,30 @@
 	}
 
 	/**
+	 * RuntimeTableLabelProvider constructor comment.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public RuntimeTableLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
+	}
+
+	/**
 	 * @see ITableLabelProvider#getColumnImage(Object, int)
 	 */
 	public Image getColumnImage(Object element, int columnIndex) {
 		if (columnIndex == 0) {
 			IRuntime runtime = (IRuntime) element;
 			IRuntimeType runtimeType = runtime.getRuntimeType();
-			if (runtimeType != null)
-				return ImageResource.getImage(runtimeType.getId());
+			if (runtimeType != null) {
+				Image image = ImageResource.getImage(runtimeType.getId());
+				if (decorator != null) {
+					Image dec = decorator.decorateImage(image, element);
+					if (dec != null)
+						return dec;
+				}
+				return image;
+			}
 		}
 		return null;
 	}
@@ -44,24 +61,23 @@
 	 */
 	public String getColumnText(Object element, int columnIndex) {
 		IRuntime runtime = (IRuntime) element;
-		if (columnIndex == 0)
-			return notNull(runtime.getName());
-		/*else if (columnIndex == 1) {
-			IPath location = runtime.getLocation();
-			if (location == null)
-				return "";
-			else
-				return notNull(location.toOSString());
-		}*/
-		else if (columnIndex == 1) {
+		if (columnIndex == 0) {
+			String text = notNull(runtime.getName());
+			if (decorator != null) {
+				String dec = decorator.decorateText(text, element);
+				if (dec != null)
+					return dec;
+			}
+			return text;
+		} else if (columnIndex == 1) {
 			IRuntimeType runtimeType = runtime.getRuntimeType();
 			if (runtimeType != null)
 				return notNull(runtimeType.getName());
 			return "";
 		} else
-			return "X";
+			return "";
 	}
-	
+
 	public boolean isLocked(Object element) {
 		IRuntime runtime = (IRuntime) element;
 		return runtime.isReadOnly();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java
index 4cf36de..a2edce2 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTreeLabelProvider.java
@@ -10,8 +10,10 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IRuntimeType;
 import org.eclipse.wst.server.ui.internal.ImageResource;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.ui.ISharedImages;
@@ -28,12 +30,29 @@
 	}
 
 	/**
+	 * RuntimeTreeLabelProvider constructor comment.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public RuntimeTreeLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
+	}
+
+	/**
 	 * 
 	 */
 	protected Image getImageImpl(Object element) {
 		IRuntime runtime = (IRuntime) element;
-		if (runtime.getRuntimeType() != null)
-			return ImageResource.getImage(runtime.getRuntimeType().getId());
+		IRuntimeType runtimeType = runtime.getRuntimeType();
+		if (runtimeType != null) {
+			Image image = ImageResource.getImage(runtimeType.getId());
+			if (decorator != null) {
+				Image dec = decorator.decorateImage(image, element);
+				if (dec != null)
+					return dec;
+			}
+			return image;
+		}
 		return null;
 	}
 
@@ -69,13 +88,19 @@
 			return "";
 		}
 		IRuntime runtime = (IRuntime) element;
-		if (columnIndex == 0)
-			return runtime.getName();
-		else if (columnIndex == 1) {
+		if (columnIndex == 0) {
+			String text = notNull(runtime.getName());
+			if (decorator != null) {
+				String dec = decorator.decorateText(text, runtime);
+				if (dec != null)
+					return dec;
+			}
+			return text;
+		} else if (columnIndex == 1) {
 			if (runtime.getRuntimeType() != null)
 				return notNull(runtime.getRuntimeType().getName());
 			return "";
 		}
-		return "X";
+		return "";
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeComposite.java
index cbafa16..f61edaf 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
@@ -29,14 +29,14 @@
 	protected String type;
 	protected String version;
 	protected String runtimeTypeId;
-	
+
 	protected RuntimeTypeTreeContentProvider contentProvider;
 	protected boolean initialSelection = true;
-	
+
 	public interface RuntimeTypeSelectionListener {
 		public void runtimeTypeSelected(IRuntimeType runtimeType);
 	}
-	
+
 	public RuntimeTypeComposite(Composite parent, int style, boolean creation, RuntimeTypeSelectionListener listener2, String type, String version, String runtimeTypeId) {
 		super(parent, style);
 		this.listener = listener2;
@@ -44,12 +44,26 @@
 		this.type = type;
 		this.version = version;
 		this.runtimeTypeId = runtimeTypeId;
-	
+		
 		contentProvider = new RuntimeTypeTreeContentProvider(RuntimeTypeTreeContentProvider.STYLE_VENDOR, creation, type, version, runtimeTypeId);
 		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(new RuntimeTypeTreeLabelProvider());
+		
+		ILabelProvider labelProvider = new RuntimeTypeTreeLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					treeViewer.refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						treeViewer.refresh(obj[i], true);
+				}
+			}
+		});
+		treeViewer.setLabelProvider(labelProvider);
 		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
-
+		
 		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 			public void selectionChanged(SelectionChangedEvent event) {
 				Object obj = getSelection(event.getSelection());
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java
index be65daf..bd674d0 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/RuntimeTypeTreeLabelProvider.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.wst.server.core.IRuntimeType;
 import org.eclipse.wst.server.ui.internal.ImageResource;
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.swt.graphics.Image;
 /**
  * Runtime type label provider.
@@ -25,6 +26,15 @@
 	}
 
 	/**
+	 * RuntimeTypeTreeLabelProvider constructor comment.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public RuntimeTypeTreeLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
+	}
+
+	/**
 	 * 
 	 */
 	protected Image getImageImpl(Object element) {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
index 4fdb5bd..a660be7 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerComposite.java
@@ -10,8 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.swt.widgets.Composite;
@@ -47,7 +50,21 @@
 		contentProvider = new ServerTreeContentProvider(ServerTreeContentProvider.STYLE_HOST, module, launchMode);
 		viewOption = ServerTreeContentProvider.STYLE_HOST;
 		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(new ServerTreeLabelProvider());
+		
+		ILabelProvider labelProvider = new ServerTreeLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					treeViewer.refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						treeViewer.refresh(obj[i], true);
+				}
+			}
+		});
+		treeViewer.setLabelProvider(labelProvider);
 		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
 		treeViewer.expandToLevel(1);
 
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java
index e56944c..7c83175 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTreeLabelProvider.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.ui.internal.ImageResource;
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.swt.graphics.Image;
 /**
  * Server tree label provider.
@@ -25,6 +26,15 @@
 	}
 
 	/**
+	 * ServerTreeLabelProvider constructor comment.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public ServerTreeLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
+	}
+
+	/**
 	 * @see AbstractTreeLabelProvider#getImageImpl(Object)
 	 */
 	public Image getImageImpl(Object element) {
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 79455fc..078b3f4 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
@@ -10,8 +10,11 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.internal.viewers;
 
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.window.Window;
@@ -46,10 +49,24 @@
 		this.listener = listener2;
 		
 		this.moduleType = moduleType;
-	
+		
 		contentProvider = new ServerTypeTreeContentProvider(ServerTypeTreeContentProvider.STYLE_VENDOR, moduleType);
 		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(new ServerTypeTreeLabelProvider());
+		
+		ILabelProvider labelProvider = new ServerTypeTreeLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					treeViewer.refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						treeViewer.refresh(obj[i], true);
+				}
+			}
+		});
+		treeViewer.setLabelProvider(labelProvider);
 		treeViewer.setInput(AbstractTreeContentProvider.ROOT);
 
 		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java
index c5de75f..7718ff8 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/viewers/ServerTypeTreeLabelProvider.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.wst.server.core.IServerType;
 import org.eclipse.wst.server.ui.internal.ImageResource;
+import org.eclipse.jface.viewers.ILabelDecorator;
 import org.eclipse.swt.graphics.Image;
 /**
  * Server type label provider.
@@ -25,6 +26,15 @@
 	}
 
 	/**
+	 * ServerTypeTreeLabelProvider constructor comment.
+	 * 
+	 * @param decorator a label decorator, or null if no decorator is required
+	 */
+	public ServerTypeTreeLabelProvider(ILabelDecorator decorator) {
+		super(decorator);
+	}
+
+	/**
 	 * 
 	 */
 	protected Image getImageImpl(Object element) {
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 d844c40..daf4955 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
@@ -109,30 +109,29 @@
 	public static void addModule(IModule module, TaskModel taskModel, IProgressMonitor monitor) throws CoreException {
 		if (module == null)
 			return;
-
+		
 		IServer server = (IServer) taskModel.getObject(TaskModel.TASK_SERVER);
 		IModule parentModule = null;
 		try {
 			IModule[] parents = server.getRootModules(module, monitor);
-			if (parents != null && parents.length > 0) {
+			if (parents != null && parents.length > 0)
 				parentModule = parents[0];
-			}
 		} catch (Exception e) {
 			Trace.trace(Trace.WARNING, "Could not find parent module", e);
 		}
 		
 		if (parentModule == null) {
-			// Use the original module since no parent module is available.
+			// use the original module since no parent module is available
 			parentModule = module;
 		}
-
+		
 		IModule[] modules = server.getModules();
 		int size = modules.length;
 		for (int i = 0; i < size; i++) {
 			if (parentModule.equals(modules[i]))
 				return;
 		}
-
+		
 		IServerWorkingCopy workingCopy = server.createWorkingCopy();
 		workingCopy.modifyModules(new IModule[] { parentModule }, new IModule[0], monitor);
 		taskModel.putObject(TaskModel.TASK_SERVER, workingCopy.save(false, monitor));
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 e55140a..8dcde22 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
@@ -22,9 +22,12 @@
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.viewers.DoubleClickEvent;
 import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
@@ -43,6 +46,7 @@
 import org.eclipse.wst.server.core.*;
 import org.eclipse.wst.server.ui.ServerUICore;
 import org.eclipse.wst.server.ui.internal.*;
+import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
 import org.eclipse.wst.server.ui.wizard.IWizardHandle;
 /**
  * A wizard page used to add and remove modules.
@@ -86,7 +90,8 @@
 		}
 		
 		public Object[] getChildren(Object parentElement) {
-			IModule[] parent = (IModule[]) parentElement;
+			ModuleServer ms = (ModuleServer) parentElement;
+			IModule[] parent = ms.module;
 			IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent));
 			
 			List list = new ArrayList();
@@ -101,19 +106,24 @@
 					IModule[] module2 = new IModule[size2 + 1];
 					System.arraycopy(parent, 0, module2, 0, size2);
 					module2[size2] = child;
-					list.add(module2);
+					list.add(new ModuleServer(null, module2));
 				}
 			}
 			return list.toArray();
 		}
 
 		public Object getParent(Object element) {
-			IModule[] child = (IModule[]) element;
-			return parentModuleMap.get(child);
+			ModuleServer ms = (ModuleServer) element;
+			IModule[] child = ms.module;
+			IModule[] modules2 = (IModule[]) parentModuleMap.get(child);
+			if (modules2 == null)
+				return null;
+			return new ModuleServer(null, modules2);
 		}
 
 		public boolean hasChildren(Object element) {
-			IModule[] parent = (IModule[]) element;
+			ModuleServer ms = (ModuleServer) element;
+			IModule[] parent = ms.module;
 			IModule[] children = (IModule[]) childModuleMap.get(new ChildModuleMapKey(parent));
 			return (children != null && children.length > 0);
 		}
@@ -125,7 +135,7 @@
 			Iterator iterator = modules.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
-				list.add(new IModule[] { module });
+				list.add(new ModuleServer(null, new IModule[] { module }));
 			}
 			return list.toArray();
 		}
@@ -137,7 +147,7 @@
 			Iterator iterator = deployed.iterator();
 			while (iterator.hasNext()) {
 				IModule module = (IModule) iterator.next();
-				list.add(new IModule[] { module });
+				list.add(new ModuleServer(null, new IModule[] { module }));
 			}
 			return list.toArray();
 		}
@@ -148,7 +158,7 @@
 	 * ChildMapModuleKey
 	 */
 	protected class ChildModuleMapKey {
-		private IModule[] moduleTree;
+		protected IModule[] moduleTree;
 		
 		protected ChildModuleMapKey(IModule curModule) {
 			if (curModule != null) {
@@ -307,6 +317,30 @@
 			}
 		}
 		
+		// get children recursively
+		iterator = childModuleMap.keySet().iterator();
+		while (iterator.hasNext()) {
+			ChildModuleMapKey key = (ChildModuleMapKey) iterator.next();
+			IModule[] children0 = (IModule[]) childModuleMap.get(key);
+			if (children0 != null) {
+				int size = children0.length;
+				for (int i = 0; i < size; i++) {
+					int size2 = key.moduleTree.length;
+					IModule[] module2 = new IModule[size2 + 1];
+					System.arraycopy(key.moduleTree, 0, module2, 0, size2);
+					module2[size2] = children0[i];
+					
+					try {
+						IModule[] children = server.getChildModules(module2, null);
+						if (children != null && children.length > 0)
+							childModuleMap.put(new ChildModuleMapKey(module2), children);
+					} catch (Exception e) {
+						// ignore
+					}
+				}
+			}
+		}
+		
 		if (availableTreeViewer != null)
 			Display.getDefault().syncExec(new Runnable() {
 				public void run() {
@@ -352,7 +386,7 @@
 		
 		label = new Label(this, SWT.NONE);
 		label.setText(Messages.wizModuleDeployedList);
-
+		
 		Tree availableTree = new Tree(this, SWT.BORDER);
 		data = new GridData(GridData.FILL_BOTH);
 		data.heightHint = 200;
@@ -360,7 +394,20 @@
 		availableTree.setLayoutData(data);
 		
 		availableTreeViewer = new TreeViewer(availableTree);
-		availableTreeViewer.setLabelProvider(ServerUICore.getLabelProvider());
+		ILabelProvider labelProvider = ServerUICore.getLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					availableTreeViewer.refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						availableTreeViewer.refresh(obj[i], true);
+				}
+			}
+		});
+		availableTreeViewer.setLabelProvider(labelProvider);
 		availableTreeViewer.setContentProvider(new AvailableContentProvider());
 		availableTreeViewer.setSorter(new ViewerSorter());
 		availableTreeViewer.setInput("root");
@@ -377,19 +424,19 @@
 					add(false);
 			}
 		});
-
+		
 		// slosh buttons
 		Composite comp = new Composite(this, SWT.NONE);
 		data = new GridData(GridData.FILL_BOTH);
 		data.widthHint = 120;
 		comp.setLayoutData(data);
-
+		
 		layout = new GridLayout();
 		layout.marginWidth = 5;
 		layout.marginHeight = 25;
 		layout.verticalSpacing = 20;
 		comp.setLayout(layout);
-
+		
 		add = new Button(comp, SWT.PUSH);
 		add.setText(Messages.wizModuleAdd);
 		add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
@@ -435,7 +482,20 @@
 		deployedTree.setLayoutData(data);
 		
 		deployedTreeViewer = new TreeViewer(deployedTree);
-		deployedTreeViewer.setLabelProvider(ServerUICore.getLabelProvider());
+		labelProvider = ServerUICore.getLabelProvider();
+		labelProvider.addListener(new ILabelProviderListener() {
+			public void labelProviderChanged(LabelProviderChangedEvent event) {
+				Object[] obj = event.getElements();
+				if (obj == null)
+					deployedTreeViewer.refresh(true);
+				else {
+					int size = obj.length;
+					for (int i = 0; i < size; i++)
+						deployedTreeViewer.refresh(obj[i], true);
+				}
+			}
+		});
+		deployedTreeViewer.setLabelProvider(labelProvider);
 		deployedTreeViewer.setContentProvider(new DeployedContentProvider());
 		deployedTreeViewer.setSorter(new ViewerSorter());
 		deployedTreeViewer.setInput("root");
@@ -461,17 +521,18 @@
 
 	protected IModule getAvailableSelection() {
 		IStructuredSelection sel = (IStructuredSelection) availableTreeViewer.getSelection();
-		return getModule((IModule[]) sel.getFirstElement());
+		return getModule((ModuleServer) sel.getFirstElement());
 	}
 
 	protected IModule getDeployedSelection() {
 		IStructuredSelection sel = (IStructuredSelection) deployedTreeViewer.getSelection();
-		return getModule((IModule[]) sel.getFirstElement());
+		return getModule((ModuleServer) sel.getFirstElement());
 	}
 
-	protected static IModule getModule(IModule[] modules2) {
-		if (modules2 == null)
+	protected static IModule getModule(ModuleServer ms) {
+		if (ms == null)
 			return null;
+		IModule[] modules2 = ms.module;
 		return modules2[modules2.length - 1];
 	}
 
@@ -564,7 +625,7 @@
 
 		setEnablement();
 	}
-	
+
 	protected void updateTaskModel() {
 		if (taskModel == null)
 			return;
@@ -583,7 +644,7 @@
 		}
 		return list;
 	}
-	
+
 	public List getModulesToAdd() {
 		List list = new ArrayList();
 		Iterator iterator = deployed.iterator();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java
index 7be4919..78462b0 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/SelectClientComposite.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.wst.server.core.internal.IClient;
 import org.eclipse.wst.server.ui.ServerUICore;
 import org.eclipse.wst.server.ui.internal.*;
@@ -107,15 +108,17 @@
 		whs.setHelp(elementTable, ContextIds.SELECT_CLIENT);
 	
 		if (clients != null) {
+			ILabelProvider labelProvider = ServerUICore.getLabelProvider();
 			int size = clients.length;
 			for (int i = 0; i < size; i++) {
 				TableItem item = new TableItem(elementTable, SWT.NONE);
-				item.setText(0, ServerUICore.getLabelProvider().getText(clients[i]));
-				item.setImage(0, ServerUICore.getLabelProvider().getImage(clients[i]));
+				item.setText(0, labelProvider.getText(clients[i]));
+				item.setImage(0, labelProvider.getImage(clients[i]));
 				item.setData(clients[i]);
 			}
+			labelProvider.dispose();
 		}
-	
+		
 		description = new Label(this, SWT.WRAP);
 		description.setText("");
 		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java
index ea74164..1d292ec 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/TasksComposite.java
@@ -118,6 +118,7 @@
 			if (sti.kind == PublishOperation.REQUIRED) {
 				checkbox.setSelection(true);
 				checkbox.setEnabled(false);
+				description.setEnabled(false);
 			} else
 				checkbox.setSelection(sti.getDefaultSelected());
 		}