This commit was manufactured by cvs2svn to create tag 'v201004261746'.
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/.project b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/.project
deleted file mode 100644
index 1eabbef..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.common.fproj.enablement.jdt.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.common.fproj.enablement.jdt.feature/build.properties b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/build.properties
deleted file mode 100644
index 364480b..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/epl-v10.html b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.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.common.fproj.enablement.jdt.feature/feature.properties b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.properties
deleted file mode 100644
index 20f3061..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.properties
+++ /dev/null
@@ -1,153 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Eclipse Faceted Project Framework JDT Enablement
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=The Faceted Project Framework allows the plugin developer to think of projects \n\
-as composed of units of functionality, otherwise known as facets, that can be added and removed \n\
-by the user.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Oracle 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
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
deleted file mode 100644
index cab79e0..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.common.fproj.enablement.jdt"
-      label="%featureName"
-      version="3.2.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jst.common.project.facet.core">
-
-   <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.common.project.facet.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.common.project.facet.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/license.html b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/sourceTemplateBundle/about.html b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index fe81d46..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/sourceTemplateBundle/build.properties b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 90b8764..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = about.html
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/.project b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/.project
deleted file mode 100644
index 14e1dee..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.common.fproj.enablement.jdt.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.common.fproj.enablement.jdt.sdk.feature/build.properties b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/build.properties
deleted file mode 100644
index 244c8ee..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = feature.xml,\
-               epl-v10.html,\
-               license.html,\
-               eclipse_update_120.jpg,\
-               feature.properties
-
-generate.plugin@org.eclipse.jst.common.project.facet.core.source=org.eclipse.jst.common.project.facet.core
-generate.plugin@org.eclipse.jst.common.project.facet.ui.source=org.eclipse.jst.common.project.facet.ui
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/epl-v10.html b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.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.common.fproj.enablement.jdt.sdk.feature/feature.properties b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.properties
deleted file mode 100644
index 9573e4d..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.properties
+++ /dev/null
@@ -1,153 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Eclipse Faceted Project Framework JDT Enablement SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=The Faceted Project Framework allows the plugin developer to think of projects \n\
-as composed of units of functionality, otherwise known as facets, that can be added and removed \n\
-by the user.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Oracle 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
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.xml
deleted file mode 100644
index 9c331d6..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.common.fproj.enablement.jdt.sdk"
-      label="%featureName"
-      version="3.2.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.jst.common.fproj.enablement.jdt.sdk">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.jst.common.fproj.enablement.jdt"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.jst.common.project.facet.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.common.project.facet.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.common.fproj.enablement.jdt.sdk"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/license.html b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common.fproj.feature/.project b/features/org.eclipse.wst.common.fproj.feature/.project
deleted file mode 100644
index a234f5f..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.fproj.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.common.fproj.feature/build.properties b/features/org.eclipse.wst.common.fproj.feature/build.properties
deleted file mode 100644
index 364480b..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = feature.xml,\
-               eclipse_update_120.jpg,\
-               epl-v10.html,\
-               license.html,\
-               feature.properties
-
diff --git a/features/org.eclipse.wst.common.fproj.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common.fproj.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common.fproj.feature/epl-v10.html b/features/org.eclipse.wst.common.fproj.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common.fproj.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.common.fproj.feature/feature.properties b/features/org.eclipse.wst.common.fproj.feature/feature.properties
deleted file mode 100644
index 2a0d87c..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/feature.properties
+++ /dev/null
@@ -1,153 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Eclipse Faceted Project Framework
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=The Faceted Project Framework allows the plugin developer to think of projects \n\
-as composed of units of functionality, otherwise known as facets, that can be added and removed \n\
-by the user.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Oracle 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
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common.fproj.feature/feature.xml b/features/org.eclipse.wst.common.fproj.feature/feature.xml
deleted file mode 100644
index 153d8e8..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/feature.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common.fproj"
-      label="%featureName"
-      version="3.2.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.wst.common.project.facet.core">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.wst.common.project.facet.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.project.facet.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common.fproj.feature/license.html b/features/org.eclipse.wst.common.fproj.feature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common.fproj.feature/sourceTemplateBundle/about.html b/features/org.eclipse.wst.common.fproj.feature/sourceTemplateBundle/about.html
deleted file mode 100644
index fe81d46..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/sourceTemplateBundle/about.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<P>June, 2008</P>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.wst.common.fproj.feature/sourceTemplateBundle/build.properties b/features/org.eclipse.wst.common.fproj.feature/sourceTemplateBundle/build.properties
deleted file mode 100644
index 2c2c169..0000000
--- a/features/org.eclipse.wst.common.fproj.feature/sourceTemplateBundle/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bin.includes = about.html
-src.includes = about.html
\ No newline at end of file
diff --git a/features/org.eclipse.wst.common.fproj.sdk.feature/.project b/features/org.eclipse.wst.common.fproj.sdk.feature/.project
deleted file mode 100644
index 4a54077..0000000
--- a/features/org.eclipse.wst.common.fproj.sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.fproj.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.common.fproj.sdk.feature/build.properties b/features/org.eclipse.wst.common.fproj.sdk.feature/build.properties
deleted file mode 100644
index f21d70c..0000000
--- a/features/org.eclipse.wst.common.fproj.sdk.feature/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = feature.xml,\
-               epl-v10.html,\
-               license.html,\
-               eclipse_update_120.jpg,\
-               feature.properties
-
-generate.plugin@org.eclipse.wst.common.project.facet.core.source=org.eclipse.wst.common.project.facet.core
-generate.plugin@org.eclipse.wst.common.project.facet.ui.source=org.eclipse.wst.common.project.facet.ui
diff --git a/features/org.eclipse.wst.common.fproj.sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.common.fproj.sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.common.fproj.sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.common.fproj.sdk.feature/epl-v10.html b/features/org.eclipse.wst.common.fproj.sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.common.fproj.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.common.fproj.sdk.feature/feature.properties b/features/org.eclipse.wst.common.fproj.sdk.feature/feature.properties
deleted file mode 100644
index e21dec5..0000000
--- a/features/org.eclipse.wst.common.fproj.sdk.feature/feature.properties
+++ /dev/null
@@ -1,153 +0,0 @@
-# "featureName" property - name of the feature
-featureName=Eclipse Faceted Project Framework SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=The Faceted Project Framework allows the plugin developer to think of projects \n\
-as composed of units of functionality, otherwise known as facets, that can be added and removed \n\
-by the user.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2009 Oracle 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
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the\n\
-Eclipse Foundation is provided to you under the terms and conditions of\n\
-the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
-provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse Foundation source code\n\
-repository ("Repository") in software modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-       - Content may be structured and packaged into modules to facilitate delivering,\n\
-         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-         plug-in fragments ("Fragments"), and features ("Features").\n\
-       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
-         in a directory named "plugins".\n\
-       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-       - The top-level (root) directory\n\
-       - Plug-in and Fragment directories\n\
-       - Inside Plug-ins and Fragments packaged as JARs\n\
-       - Sub-directories of the directory named "src" of certain Plug-ins\n\
-       - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
-Update License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties" found within a Feature.\n\
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
-terms and conditions (or references to such terms and conditions) that\n\
-govern your use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-\n\Use of Provisioning Technology\n\
-\n\
-The Eclipse Foundation makes available provisioning software, examples of which include,\n\
-but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
-the purpose of allowing users to install software, documentation, information and/or\n\
-other materials (collectively "Installable Software"). This capability is provided with\n\
-the intent of allowing such users to install, extend and update Eclipse-based products.\n\
-Information about packaging Installable Software is available at\n\
-http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
-\n\
-You may use Provisioning Technology to allow other parties to install Installable Software.\n\
-You shall be responsible for enabling the applicable license agreements relating to the\n\
-Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
-in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
-making it available in accordance with the Specification, you further acknowledge your\n\
-agreement to, and the acquisition of all necessary rights to permit the following:\n\
-\n\
-       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
-          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
-          extending or updating the functionality of an Eclipse-based product.\n\
-       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
-          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
-       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
-          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
-          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
-          with the Specification. Such Installable Software Agreement must inform the user of the\n\
-          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
-          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
-          indication of agreement by the user, the provisioning Technology will complete installation\n\
-          of the Installable Software.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use, and\n\
-re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.common.fproj.sdk.feature/feature.xml b/features/org.eclipse.wst.common.fproj.sdk.feature/feature.xml
deleted file mode 100644
index e71246c..0000000
--- a/features/org.eclipse.wst.common.fproj.sdk.feature/feature.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.common.fproj.sdk"
-      label="%featureName"
-      version="3.2.0.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.wst.common.fproj.sdk">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="license.html">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-   </url>
-
-   <includes
-         id="org.eclipse.wst.common.fproj"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.wst.common.project.facet.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.project.facet.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.project.facet.doc.api"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.wst.common.fproj.sdk"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.wst.common.fproj.sdk.feature/license.html b/features/org.eclipse.wst.common.fproj.sdk.feature/license.html
deleted file mode 100644
index c184ca3..0000000
--- a/features/org.eclipse.wst.common.fproj.sdk.feature/license.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>April 14, 2010</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.classpath b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.project b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.project
deleted file mode 100644
index a38058c..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.common.fproj.enablement.jdt.sdk</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.common.fproj.enablement.jdt.sdk/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bcc26d6..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Wed Jan 31 15:32:12 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/META-INF/MANIFEST.MF
deleted file mode 100644
index 61d0970..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.common.fproj.enablement.jdt.sdk; singleton:=true
-Bundle-Version: 1.4.100.qualifier
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.html b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.ini b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.ini
deleted file mode 100644
index 8949d8a..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-aboutText=%blurb
-featureImage=images/wtp-32.png
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.properties b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.properties
deleted file mode 100644
index bcc0b6a..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/about.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-blurb=Eclipse Faceted Project Framework JDT Enablement SDK\n\
-\n\
-Version: {featureVersion}\n\
-\n\
-The Faceted Project Framework allows the plugin developer to think of projects \n\
-as composed of units of functionality, otherwise known as facets, that can be \n\
-added and removed by the user.\n\
-\n\
-Copyright (c) 2009 Eclipse contributors and others. All rights reserved.
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/build.properties b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/build.properties
deleted file mode 100644
index 5237c90..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               images/,\
-               about.ini,\
-               about.properties
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/images/wtp-32.png b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/images/wtp-32.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/images/wtp-32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/plugin.properties b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/plugin.properties
deleted file mode 100644
index 632a4c2..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Eclipse Faceted Project Framework JDT Enablement SDK
-providerName = Eclipse Web Tools Platform
diff --git a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/src/.do-not-delete b/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/src/.do-not-delete
deleted file mode 100644
index e69de29..0000000
--- a/plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk/src/.do-not-delete
+++ /dev/null
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/.classpath b/plugins/org.eclipse.jst.common.project.facet.core/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/.cvsignore b/plugins/org.eclipse.jst.common.project.facet.core/.cvsignore
deleted file mode 100644
index 0f57cf1..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-@dot
-build.xml
-temp.folder
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/.project b/plugins/org.eclipse.jst.common.project.facet.core/.project
deleted file mode 100644
index 29c97ae..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.common.project.facet.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/.settings/.api_filters b/plugins/org.eclipse.jst.common.project.facet.core/.settings/.api_filters
deleted file mode 100644
index e266422..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/.settings/.api_filters
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.jst.common.project.facet.core" version="2">
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetValidator.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaFacetValidator">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaFacetValidator"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/FacetCorePlugin.java" type="org.eclipse.jst.common.project.facet.core.internal.FacetCorePlugin">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.FacetCorePlugin"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/FacetedProjectFrameworkJavaPlugin.java" type="org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallDelegate.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallDelegate">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallDelegate"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetRuntimeChangedListener.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaFacetRuntimeChangedListener">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaFacetRuntimeChangedListener"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetVersionChangeDelegate.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaFacetVersionChangeDelegate">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaFacetVersionChangeDelegate"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaRuntimeBridge.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaRuntimeBridge">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaRuntimeBridge"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/StandardJreClasspathProvider.java" type="org.eclipse.jst.common.project.facet.core.internal.StandardJreClasspathProvider">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.StandardJreClasspathProvider"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/RuntimeClasspathProvider.java" type="org.eclipse.jst.common.project.facet.core.internal.RuntimeClasspathProvider">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.RuntimeClasspathProvider"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallConfigFactory.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallConfigFactory">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallConfigFactory"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDefaultVersionProvider.java" type="org.eclipse.jst.common.project.facet.core.internal.JavaFacetDefaultVersionProvider">
-        <filter id="305365105">
-            <message_arguments>
-                <message_argument value="org.eclipse.jst.common.project.facet.core.internal.JavaFacetDefaultVersionProvider"/>
-                <message_argument value="org.eclipse.jst.common.project.facet.core_1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-</component>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index bd20e56..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Apr 16 17:56:05 EDT 2006
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bcc26d6..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Wed Jan 31 15:32:12 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 4a66d5a..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,13 +0,0 @@
-#Sun Apr 16 17:55:02 EDT 2006
-compilers.p.build=0
-compilers.p.deprecated=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=0
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 0bf4593..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.common.project.facet.core; singleton:=true
-Bundle-Version: 1.4.100.qualifier
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.common.project.facet.core,
- org.eclipse.jst.common.project.facet.core.internal;x-internal:=true,
- org.eclipse.jst.common.project.facet.core.libprov,
- org.eclipse.jst.common.project.facet.core.libprov.internal;x-friends:="org.eclipse.jst.common.project.facet.ui",
- org.eclipse.jst.common.project.facet.core.libprov.osgi,
- org.eclipse.jst.common.project.facet.core.libprov.user,
- org.eclipse.jst.common.project.facet.core.libprov.user.internal;x-friends:="org.eclipse.jst.common.project.facet.ui"
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,4.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.net;bundle-version="[1.2.0,2.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Activator: org.eclipse.jst.common.project.facet.core.internal.FacetCorePlugin
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/about.html b/plugins/org.eclipse.jst.common.project.facet.core/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/about.ini b/plugins/org.eclipse.jst.common.project.facet.core/about.ini
deleted file mode 100644
index 8949d8a..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/about.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-aboutText=%blurb
-featureImage=images/wtp-32.png
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/about.properties b/plugins/org.eclipse.jst.common.project.facet.core/about.properties
deleted file mode 100644
index 8e6dd91..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/about.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-blurb=Eclipse Faceted Project Framework JDT Enablement\n\
-\n\
-Version: {featureVersion}\n\
-\n\
-The Faceted Project Framework allows the plugin developer to think of projects \n\
-as composed of units of functionality, otherwise known as facets, that can be \n\
-added and removed by the user.\n\
-\n\
-Copyright (c) 2010 Eclipse contributors and others. All rights reserved.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/build.properties b/plugins/org.eclipse.jst.common.project.facet.core/build.properties
deleted file mode 100644
index 18151cb..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               plugin.xml,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               about.ini,\
-               about.properties,\
-               images/,\
-               schemas/
-src.includes = about.html
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/images/wtp-32.png b/plugins/org.eclipse.jst.common.project.facet.core/images/wtp-32.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/images/wtp-32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/plugin.properties b/plugins/org.eclipse.jst.common.project.facet.core/plugin.properties
deleted file mode 100644
index 6911393..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-pluginName = Eclipse Faceted Project Framework JDT Enablement
-providerName = Eclipse Web Tools Platform
-javaFacetLabel = Java
-javaFacetDescription = Adds support for writing applications using Java programming language.
-javaVersionMismatchMarkerName = Faceted Project Problem (Java Version Mismatch)
-libraryProvidersExtensionPointName = Library Providers Extension Point
-legacyLibraryProviderDetectorsExtensionPointName = Legacy Library Provider Detectors Extension Point
-downloadableLibrariesExtensionPointName = Downloadable Libraries Extension Point
-userLibraryProviderLabel = User Library
-runtimeLibraryProviderLabel = Library Provided by Target Runtime
-runtimeLibraryProviderMessage = The targeted runtime is able to provide the library required by this facet. Selecting this option will configure the project to use that library.
-unknownLibraryProviderLabel = Unknown Library Configuration
-unknownLibraryProviderMessage = Could not determine the library that this project facet is configured to use. This could be due to plugins that are missing or could not be activated. Changing facet library in this state can leave metadata and other files in the project that will need to be cleaned up manually.
-legacyLibraryProviderLabel = Legacy Library Configuration
-legacyLibraryProviderMessage = This project is currently configured to use a legacy method for configuring libraries. Switch to one of the other available library types when it is no longer necessary to open this project in previous versions of Eclipse.
-noOpLibraryProviderLabel = Disable Library Configuration
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
deleted file mode 100644
index 2034497..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
+++ /dev/null
@@ -1,303 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.jst.common.project.facet.core.internal.RuntimeClasspathProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.runtime.IRuntime">
-      <adapter type="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
-    </factory>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimeBridges">
-    <bridge
-      id="org.eclipse.jst.common.project.facet.core.JavaRuntimeBridge"
-      class="org.eclipse.jst.common.project.facet.core.internal.JavaRuntimeBridge"/>
-  </extension>
-  
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-  
-    <runtime-component-type id="standard.jre"/>
-    <runtime-component-version type="standard.jre" version="1.3"/>
-    <runtime-component-version type="standard.jre" version="1.4"/>
-    <runtime-component-version type="standard.jre" version="1.5"/>
-    <runtime-component-version type="standard.jre" version="1.6"/>
-    <runtime-component-version type="standard.jre" version="1.7"/>
-
-    <supported>
-      <facet id="java" version="1.3"/>
-      <runtime-component id="standard.jre" version="[1.3"/>
-    </supported>
-
-    <supported>
-      <facet id="java" version="1.4"/>
-      <runtime-component id="standard.jre" version="[1.4"/>
-    </supported>
-
-    <supported>
-      <facet id="java" version="1.5"/>
-      <runtime-component id="standard.jre" version="[1.5"/>
-    </supported>
-
-    <supported>
-      <facet id="java" version="1.6"/>
-      <runtime-component id="standard.jre" version="[1.6"/>
-    </supported>
-    
-    <supported>
-      <facet id="java" version="1.7"/>
-      <runtime-component id="standard.jre" version="[1.7"/>
-    </supported>
-
-    <adapter>
-      <runtime-component id="standard.jre"/>
-      <factory class="org.eclipse.jst.common.project.facet.core.internal.StandardJreClasspathProvider$Factory"/>
-      <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
-    </adapter>
-
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.facets">
-  
-    <project-facet id="java">
-      <label>%javaFacetLabel</label>
-      <description>%javaFacetDescription</description>
-      <default-version provider="org.eclipse.jst.common.project.facet.core.internal.JavaFacetDefaultVersionProvider"/>
-    </project-facet>
-
-    <project-facet-version facet="java" version="1.3">
-      <constraint>
-        <conflicts facet="wst.web"/>
-      </constraint>
-    </project-facet-version>
-
-    <project-facet-version facet="java" version="1.4">
-      <constraint>
-        <conflicts facet="wst.web"/>
-      </constraint>
-    </project-facet-version>
-
-    <project-facet-version facet="java" version="1.5">
-      <constraint>
-        <conflicts facet="wst.web"/>
-      </constraint>
-    </project-facet-version>
-
-    <project-facet-version facet="java" version="1.6">
-      <constraint>
-        <conflicts facet="wst.web"/>
-      </constraint>
-    </project-facet-version>
-
-    <project-facet-version facet="java" version="1.7">
-      <constraint>
-        <conflicts facet="wst.web"/>
-      </constraint>
-    </project-facet-version>
-
-    <action facet="java" type="install" id="java.install">
-      <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallDelegate"/>
-      <config-factory class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallConfigFactory"/>
-    </action>
-
-    <action facet="java" type="uninstall">
-      <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetUninstallDelegate"/>
-      <config-factory class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetUninstallConfigFactory"/>
-    </action>
-
-    <action facet="java" type="version-change">
-      <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetVersionChangeDelegate"/>
-      <config-factory class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetVersionChangeConfigFactory"/>
-    </action>
-
-  </extension>
-  
-  <extension point="org.eclipse.wst.common.project.facet.core.listeners">
-     <listener
-       class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetRuntimeChangedListener"
-       eventTypes="PRIMARY_RUNTIME_CHANGED"/>
-  </extension>
-  
-  <extension point="org.eclipse.wst.common.project.facet.core.validators">
-    <validator class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetValidator">
-      <facet id="java"/>
-    </validator>
-  </extension>    
-  
-  <extension point="org.eclipse.wst.common.project.facet.core.detectors">
-    <detector class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetDetector"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.aliases">
-    <facet-alias facet="java" alias="jst.java"/>
-    <facet-version-alias facet="java" version="1.5" alias="5.0"/>
-    <facet-version-alias facet="java" version="1.6" alias="6.0"/>
-  </extension>
-
-  <extension 
-    point="org.eclipse.core.resources.markers"
-    id="javaVersionMismatch"
-    name="%javaVersionMismatchMarkerName">
-    <super type="org.eclipse.wst.common.project.facet.core.validation.marker"/>
-    <attribute name="facetVersion"/>
-    <attribute name="compilerLevel"/>
-    <persistent value="true"/>
-  </extension>
-
-  <!--
-    ******************************
-    * Library Provider Framework *
-    ******************************
-  -->
-
-  <extension-point 
-   	id="libraryProviders" 
-   	name="%libraryProvidersExtensionPointName" 
-   	schema="schemas/libraryProviders.exsd"/>
-
-  <extension-point 
-    id="legacyLibraryProviderDetectors" 
-    name="%legacyLibraryProviderDetectorsExtensionPointName" 
-    schema="schemas/legacyLibraryProviderDetectors.exsd"/>
-   	
-  <extension-point 
-    id="downloadableLibraries" 
-    name="%downloadableLibrariesExtensionPointName" 
-    schema="schemas/downloadableLibraries.exsd"/>
-   	
-  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-    <provider id="user-library-provider" abstract="true">
-      <label>%userLibraryProviderLabel</label>
-      <priority>500</priority>
-      <action type="INSTALL">
-        <config class="org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig"/>
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperation"/>
-      </action>
-      <action type="UNINSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderUninstallOperation"/>
-      </action>
-    </provider>
-  </extension>
-  
-  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-    <provider id="runtime-library-provider">
-      <label>%runtimeLibraryProviderLabel</label>
-      <priority>600</priority>
-      <param name="message" value="%runtimeLibraryProviderMessage"/>
-      <enablement>
-        <with variable="context">
-          <test property="org.eclipse.jst.common.project.facet.core.canTargetRuntimeProvideLibrary" forcePluginActivation="true"/>
-        </with>
-      </enablement>
-      <action type="INSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.RuntimeLibraryProviderInstallOperation"/>
-      </action>
-      <action type="UNINSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.RuntimeLibraryProviderUninstallOperation"/>
-      </action>
-    </provider>
-  </extension>
-  
-  <extension point="org.eclipse.core.expressions.propertyTesters">
-    <propertyTester
-      id="org.eclipse.jst.common.project.facet.core.canTargetRuntimeProvideLibrary"
-      type="org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext"
-      namespace="org.eclipse.jst.common.project.facet.core"
-      properties="canTargetRuntimeProvideLibrary"
-      class="org.eclipse.jst.common.project.facet.core.libprov.internal.RuntimeLibraryProviderPropertyTester">
-    </propertyTester>
-  </extension>
-
-  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-    <provider id="unknown-library-provider" hidden="true">
-      <label>%unknownLibraryProviderLabel</label>
-      <param name="message" value="%unknownLibraryProviderMessage"/>
-      <action type="INSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.UnknownLibraryProviderInstallOperation"/>
-      </action>
-      <action type="UNINSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
-      </action>
-    </provider>
-  </extension>
-  
-  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-    <provider id="legacy-library-provider" hidden="true">
-      <label>%legacyLibraryProviderLabel</label>
-      <param name="message" value="%legacyLibraryProviderMessage"/>
-      <action type="INSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.LegacyLibraryProviderInstallOperation"/>
-      </action>
-    </provider>
-  </extension>
-  
-  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-    <provider id="legacy-runtime-library-provider" extends="legacy-library-provider" hidden="true">
-      <action type="UNINSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.internal.LegacyRuntimeLibraryProviderUninstallOperation"/>
-      </action>
-    </provider>
-  </extension>
-
-  <extension point="org.eclipse.jst.common.project.facet.core.legacyLibraryProviderDetectors">
-    <detector class="org.eclipse.jst.common.project.facet.core.libprov.internal.LegacyRuntimeLibraryProviderDetector"/>
-  </extension>
-
-  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-    <provider id="no-op-library-provider" abstract="true">
-      <label>%noOpLibraryProviderLabel</label>
-      <priority>-1000</priority>
-      <action type="INSTALL">
-        <config class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderInstallOperationConfig"/>
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
-      </action>
-      <action type="UNINSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
-      </action>
-    </provider>
-  </extension>
-  
-  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
-    <provider id="osgi-bundles-library-provider" abstract="true">
-      <priority>600</priority>
-      <action type="INSTALL">
-        <config class="org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperationConfig"/>
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperation"/>
-      </action>
-      <action type="UNINSTALL">
-        <operation class="org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderUninstallOperation"/>
-      </action>
-      <enablement>
-        <with variable="provider">
-          <test property="eclipse.fproj.jdt.libprov.osgi.bundleReferencesResolvable" value="true" forcePluginActivation="true"/>
-        </with>
-      </enablement>
-    </provider>
-  </extension>
-  
-  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
-    <classpathContainerInitializer
-      class="org.eclipse.jst.common.project.facet.core.libprov.osgi.internal.OsgiBundlesContainerImpl$Initializer"
-      id="eclipse.fproj.jdt.libprov.osgi"/>
-  </extension>
-  
-  <extension point="org.eclipse.core.expressions.propertyTesters">
-    <propertyTester
-      id="eclipse.fproj.jdt.libprov.osgi.bundleReferencesResolvable"
-      type="org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext"
-      namespace="eclipse.fproj.jdt.libprov.osgi"
-      properties="bundleReferencesResolvable"
-      class="org.eclipse.jst.common.project.facet.core.libprov.osgi.internal.OsgiBundlesLibraryProviderResolvablePropertyTester">
-    </propertyTester>
-    <propertyTester
-      id="eclipse.fproj.jdt.libprov.osgi.bundleReferencesResolvable"
-      type="org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider"
-      namespace="eclipse.fproj.jdt.libprov.osgi"
-      properties="bundleReferencesResolvable"
-      class="org.eclipse.jst.common.project.facet.core.libprov.osgi.internal.OsgiBundlesLibraryProviderResolvablePropertyTester">
-    </propertyTester>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/schemas/downloadableLibraries.exsd b/plugins/org.eclipse.jst.common.project.facet.core/schemas/downloadableLibraries.exsd
deleted file mode 100644
index 3481b7e..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/schemas/downloadableLibraries.exsd
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.project.facet.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.jst.common.project.facet.core" id="downloadableLibraries" name="Downloadable Libraries Extension Point"/>
-      </appinfo>
-      <documentation>
-         Provides a way to register libraries that can be downloaded from remote servers. This is a feature of the user library provider.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-         <documentation>
-            Allows importing one or more files that contain definitions of downloadable libraries.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="import-definitions" 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="import-definitions">
-      <annotation>
-         <documentation>
-            Imports a single file that contains definitions of downloadable libraries.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="path" type="string">
-            <annotation>
-               <documentation>
-                  The local path (within the plugin) to the definitions file. The path attribute is mutually exclusive with the url attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="url" type="string">
-            <annotation>
-               <documentation>
-                  The URL of the definitions file on a remote server. The url attribute is mutually exclusive with the path attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         WTP 3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;The following example adds downloadable libraries catalog entries from a file that is located within the plugin:&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.jst.common.project.facet.core.downloadableLibraries&quot;&gt;
-  &lt;import-definitions path=&quot;libs/catalog.xml&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-
-&lt;p&gt;The following example adds catalog entries from a file that is located on a server:&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.jst.common.project.facet.core.downloadableLibraries&quot;&gt;
-  &lt;import-definitions url=&quot;http://www.mycorp.com/libs/catalog.xml&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-
-&lt;p&gt;Here is an example definition file. Such file can be placed inside a plugin or hosted on a server.
-Multiple libraries can be defined in a single definition file.&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;libraries&gt;
-  &lt;library&gt;
-    &lt;name&gt;EclipseLink 1.0.0&lt;/name&gt;
-    &lt;download-provider&gt;Eclipse Foundation&lt;/download-provider&gt;
-    &lt;download-url&gt;&lt;![CDATA[http://www.eclipse.org/downloads/...]]&gt;&lt;/download-url&gt;
-    &lt;license-url&gt;&lt;![CDATA[http://www.eclipse.org/legal/epl-v10.html]]&gt;&lt;/license-url&gt;&gt;
-    &lt;attributes&gt;
-      &lt;component&gt;eclipselink/jlib/eclipselink.jar&lt;/component&gt;
-      &lt;source&gt;eclipselink/jlib/eclipselink-src.zip&lt;/source&gt;
-      &lt;javadoc&gt;eclipselink/jlib/eclipselink-javadocs.zip&lt;/javadoc&gt;
-    &lt;/attributes&gt;
-  &lt;/library&gt;
-&lt;/libraries&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2010 Oracle 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.common.project.facet.core/schemas/legacyLibraryProviderDetectors.exsd b/plugins/org.eclipse.jst.common.project.facet.core/schemas/legacyLibraryProviderDetectors.exsd
deleted file mode 100644
index 7619cd6..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/schemas/legacyLibraryProviderDetectors.exsd
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.project.facet.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.jst.common.project.facet.core" id="legacyLibraryProviderDetectors" name="Legacy Library Provider Detectors Extension Point"/>
-      </appinfo>
-      <documentation>
-         Provides a migration path for existing code to Library Provider Framework by allowing registration of detectors that can identify legacy metadata in a project and return a library provider. The registered detectors are called when a call to LibraryProviderFramework.getCurrentProvider() is made and the project metadata maintained by the framework does not show a provider for the facet in question. The detectors should not alter project state, but only return a library provider representing the legacy configuration. The legacy library providers are typically configured as hidden (not available for installation) and only implement the uninstall action.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-         <documentation>
-            Allows registering one or more legacy library provider detectors.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="detector" 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="detector">
-      <annotation>
-         <documentation>
-            Registers a single legacy library provider detector.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  Specifies the class name of the detector.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.common.project.facet.core.libprov.LegacyLibraryProviderDetector:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         WTP 3.1
-
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;The following example registers two detectors:&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.jst.common.project.facet.core.legacyLibraryProviderDetectors&quot;&gt;
-  &lt;detector class=&quot;com.mycompany.Detector1&quot;/&gt;
-  &lt;detector class=&quot;com.mycompany.Detector2&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2010 Oracle 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.common.project.facet.core/schemas/libraryProviders.exsd b/plugins/org.eclipse.jst.common.project.facet.core/schemas/libraryProviders.exsd
deleted file mode 100644
index 0e4e347..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/schemas/libraryProviders.exsd
+++ /dev/null
@@ -1,245 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.project.facet.core.libprov" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.jst.common.project.facet.core.libprov" id="libraryProviders" name="Library Providers Extension Point"/>
-      </appinfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="provider" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="provider">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="label" minOccurs="0" maxOccurs="1"/>
-            <element ref="priority" minOccurs="0" maxOccurs="1"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-            <element ref="param" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="extends" type="string">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="identifier" basedOn="org.eclipse.jst.common.project.facet.core.libraryProviders/provider/@id"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="abstract" type="boolean">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="hidden" type="boolean">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="param">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="config" minOccurs="0" maxOccurs="1"/>
-            <element ref="operation"/>
-         </sequence>
-         <attribute name="type" use="required">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="INSTALL">
-                  </enumeration>
-                  <enumeration value="UNINSTALL">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="config">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="operation">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  (no description available)
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="label" type="string">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="priority" type="string">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         WTP 3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2010 Oracle 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.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/ClasspathHelper.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/ClasspathHelper.java
deleted file mode 100644
index cde5c14..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/ClasspathHelper.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jst.common.project.facet.core.internal.ClasspathUtil;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-
-/**
- * <p>A utility used in conjunction with IClasspathProvider in order to manage
- * the bookkeeping when project facets are installed and uninstalled, and when
- * the bound runtime changes. This utility tracks which classpath entries were
- * added to the project by which facet and stores this information in a project
- * metadata file. This enables the classpath entries to be removed without
- * knowing what they are. It is only necessary to know which facet added them.
- * This utility supports the case where the same classpath entry is added by
- * multiple project facets. In this situation, a classpath entry is only
- * removed when the removal has been requested for all of the facets that added
- * it.</p>
- * 
- * <p>Typically the project facet author will write something like this in the
- * install delegate:</p>
- * 
- * <pre>
- * if( ! ClasspathHelper.addClasspathEntries( project, fv )
- * {
- *     // Handle the case when there is no bound runtime or when the bound
- *     // runtime cannot provide classpath entries for this facet.
- *     
- *     final List alternate = ...;
- *     ClasspathHelper.addClasspathEntries( project, fv, alternate );
- * }
- * </pre>
- * 
- * <p>And something like this in the uninstall delegate:</p>
- * 
- * <pre>
- * ClasspathHelper.removeClasspathEntries( project, fv );
- * </pre>
- * 
- * <p>And something like this in the runtime changed delegate:</p>
- * 
- * <pre>
- * ClasspathHelper.removeClasspathEntries( project, fv );
- * 
- * if( ! ClasspathHelper.addClasspathEntries( project, fv )
- * {
- *     // Handle the case when there is no bound runtime or when the bound
- *     // runtime cannot provide classpath entries for this facet.
- *     
- *     final List alternate = ...;
- *     ClasspathHelper.addClasspathEntries( project, fv, alternate );
- * }
- * </pre>
- * 
- * <p>And something like this in the version change delegate:</p>
- * 
- * <pre>
- * final IProjectFacetVersion oldver
- *   = fproj.getInstalledVersion( fv.getProjectFacet() );
- * 
- * ClasspathHelper.removeClasspathEntries( project, oldver );
- * 
- * if( ! ClasspathHelper.addClasspathEntries( project, fv )
- * {
- *     // Handle the case when there is no bound runtime or when the bound
- *     // runtime cannot provide classpath entries for this facet.
- *     
- *     final List alternate = ...;
- *     ClasspathHelper.addClasspathEntries( project, fv, alternate );
- * }
- * </pre>
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ClasspathHelper
-{
-    /**
-     * @since 1.4
-     */
-    
-    public static final String LEGACY_METADATA_FILE_NAME = ClasspathUtil.LEGACY_METADATA_FILE_NAME;
-    
-    private ClasspathHelper() {}
-    
-    /**
-     * Convenience method for adding to the project the classpath entries
-     * provided for the specified project facet by the runtime bound to the
-     * project. The entries are marked as belonging to the specified project
-     * facet.
-     *   
-     * @param project the project
-     * @param fv the project facet version that will own these entries
-     * @return <code>true</code> if classpath entries were added, or
-     *   <code>false</code> if there is no runtime bound to the project or if
-     *   it cannot provide classpath entries for the specified facet
-     * @throws CoreException if failed while adding the classpath entries
-     */
-    
-    public static boolean addClasspathEntries( final IProject project,
-                                               final IProjectFacetVersion fv )
-    
-        throws CoreException
-        
-    {
-        final IFacetedProject fproj = ProjectFacetsManager.create( project );
-        final IRuntime runtime = fproj.getPrimaryRuntime();
-        
-        if( runtime != null )
-        {
-            final IClasspathProvider cpprov 
-                = (IClasspathProvider) runtime.getAdapter( IClasspathProvider.class );
-            
-            final List<IClasspathEntry> cpentries = cpprov.getClasspathEntries( fv );
-            
-            if( cpentries != null )
-            {
-                addClasspathEntries( project, fv, cpentries );
-                return true;
-            }
-        }
-        
-        return false;
-    }
-    
-    /**
-     * Add the provided classpath entries to project and marks them as belonging
-     * to the specified project facet.
-     * 
-     * @param project the project
-     * @param fv the project facet version that will own these entries
-     * @param cpentries the classpath entries (element type: 
-     *   {@see IClasspathEntry})
-     * @throws CoreException if failed while adding the classpath entries
-     */
-    
-    public static void addClasspathEntries( final IProject project,
-                                            final IProjectFacetVersion fv,
-                                            final List<IClasspathEntry> cpentries )
-    
-        throws CoreException
-        
-    {
-        ClasspathUtil.addClasspathEntries( project, fv.getProjectFacet(), cpentries );
-    }
-    
-    /**
-     * Removes the classpath entries belonging to the specified project facet.
-     * Any entries that also belong to another facet are left in place.
-     * 
-     * @param project the project
-     * @param fv the project facet that owns the entries that should be removed
-     * @throws CoreException if failed while removing classpath entries
-     */
-    
-    public static void removeClasspathEntries( final IProject project,
-                                               final IProjectFacetVersion fv )
-    
-        throws CoreException
-        
-    {
-        ClasspathUtil.removeClasspathEntries( project, fv.getProjectFacet() );
-    }
-    
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/IClasspathProvider.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/IClasspathProvider.java
deleted file mode 100644
index 2237d56..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/IClasspathProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core;
-
-import java.util.List;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * The interface implemented by a runtime component adapter in order to provide
- * classpath entries for project facets. For convenience, the runtime can also
- * be adapted to this interface. That adapter will delegate to the runtime 
- * components in the order that they are listed in the runtime. The first one 
- * that can provide classpath entries for the specified project facet wins. 
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public interface IClasspathProvider
-{
-    /**
-     * Returns the classpath entries for the specified project facet.
-     * 
-     * @param fv the project facet version
-     * @return returns the classpath entries for the specified project facet, or
-     *   <code>null</code> if this provider does not provide classpath entries
-     *   for the given project facet
-     */
-    
-    List<IClasspathEntry> getClasspathEntries( IProjectFacetVersion fv );
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
deleted file mode 100644
index 850112e..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacet 
-{
-    public static final String ID = "java"; //$NON-NLS-1$
-    public static final IProjectFacet FACET = ProjectFacetsManager.getProjectFacet( ID );
-    public static final IProjectFacetVersion VERSION_1_3 = FACET.getVersion( "1.3" ); //$NON-NLS-1$
-    public static final IProjectFacetVersion VERSION_1_4 = FACET.getVersion( "1.4" ); //$NON-NLS-1$
-    public static final IProjectFacetVersion VERSION_1_5 = FACET.getVersion( "1.5" ); //$NON-NLS-1$
-    public static final IProjectFacetVersion VERSION_1_6 = FACET.getVersion( "1.6" ); //$NON-NLS-1$
-    public static final IProjectFacetVersion VERSION_1_7 = FACET.getVersion( "1.7" ); //$NON-NLS-1$
-
-    @Deprecated
-    public static final IProjectFacetVersion JAVA_13 = VERSION_1_3;
-    
-    @Deprecated
-    public static final IProjectFacetVersion JAVA_14 = VERSION_1_4;
-    
-    @Deprecated
-    public static final IProjectFacetVersion JAVA_50 = VERSION_1_5;
-    
-    @Deprecated
-    public static final IProjectFacetVersion JAVA_60 = VERSION_1_6;
-
-    public static boolean isInstalled( final IProject project )
-    {
-        try
-        {
-            return FacetedProjectFramework.hasProjectFacet( project, ID );
-        }
-        catch( CoreException e )
-        {
-            FacetedProjectFrameworkJavaPlugin.log( e );
-            return false;
-        }
-    }
-    
-    /**
-     * Checks whether the specified project is a Java project.
-     * 
-     * @param pj the project to check.
-     * @return <code>true</code> if the project is a Java project
-     * @since 1.4
-     */
-    
-    public static boolean isJavaProject( final IProject project )
-    {
-        try
-        {
-            return project.getNature( JavaCore.NATURE_ID ) != null;
-        }
-        catch( CoreException e )
-        {
-            return false;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetInstallConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetInstallConfig.java
deleted file mode 100644
index f32f554..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetInstallConfig.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.common.project.facet.core.internal.FacetCorePlugin;
-import org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil;
-import org.eclipse.wst.common.project.facet.core.ActionConfig;
-import org.eclipse.wst.common.project.facet.core.util.EventListenerRegistry;
-import org.eclipse.wst.common.project.facet.core.util.IEventListener;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class JavaFacetInstallConfig
-
-    extends ActionConfig
-    
-{
-    private static final String PROD_PROP_OUTPUT_FOLDER = "defaultJavaOutputFolder"; //$NON-NLS-1$
-    private static final String PROD_PROP_OUTPUT_FOLDER_LEGACY = "outputFolder"; //$NON-NLS-1$
-    private static final String DEFAULT_OUTPUT_FOLDER = "build/classes"; //$NON-NLS-1$
-    
-    public static class ChangeEvent
-    {
-        public enum Type
-        {
-            SOURCE_FOLDERS_CHANGED,
-            DEFAULT_OUTPUT_FOLDER_CHANGED
-        }
-        
-        private final Type type;
-        private final JavaFacetInstallConfig installConfig;
-        
-        ChangeEvent( final Type type,
-                     final JavaFacetInstallConfig installConfig )
-        {
-            this.type = type;
-            this.installConfig = installConfig;
-        }
-        
-        public final Type getType()
-        {
-            return this.type;
-        }
-
-        public final JavaFacetInstallConfig getJavaFacetInstallConfig()
-        {
-            return this.installConfig;
-        }
-    }
-    
-    private EventListenerRegistry<ChangeEvent.Type,ChangeEvent> listeners;
-    private List<IPath> sourceFolders;
-    private List<IPath> sourceFoldersReadOnly;
-    private IPath defaultOutputFolder;
-    
-    public JavaFacetInstallConfig()
-    {
-        this.listeners = new EventListenerRegistry<ChangeEvent.Type,ChangeEvent>( ChangeEvent.Type.class );
-        
-        this.sourceFolders = new CopyOnWriteArrayList<IPath>();
-        this.sourceFoldersReadOnly = Collections.unmodifiableList( this.sourceFolders );
-        this.defaultOutputFolder = null;
-        
-        String sourceFolder = FacetCorePlugin.getJavaSrcFolder();
-        
-        this.sourceFolders.add( new Path( sourceFolder ) );
-        
-        String outputFolder = getProductProperty( PROD_PROP_OUTPUT_FOLDER );
-        
-        if( outputFolder == null )
-        {
-            outputFolder = getProductProperty( PROD_PROP_OUTPUT_FOLDER_LEGACY );
-        }
-        
-        if( outputFolder == null )
-        {
-            outputFolder = DEFAULT_OUTPUT_FOLDER;
-        }
-        
-        this.defaultOutputFolder = new Path( outputFolder );
-    }
-    
-    @Override
-    public Set<IFile> getValidateEditFiles()
-    {
-        final Set<IFile> files = super.getValidateEditFiles();
-        final IProject project = getFacetedProjectWorkingCopy().getProject();
-        
-        if( project != null )
-        {
-            files.add( project.getFile( IProjectDescription.DESCRIPTION_FILE_NAME ) );
-            files.add( project.getFile( JavaFacetUtil.FILE_CLASSPATH ) );
-            files.add( project.getFile( JavaFacetUtil.FILE_JDT_CORE_PREFS ) );
-            files.add( project.getFile( ClasspathHelper.LEGACY_METADATA_FILE_NAME ) );
-        }
-        
-        return files;
-    }
-
-    public List<IPath> getSourceFolders()
-    {
-        return this.sourceFoldersReadOnly;
-    }
-    
-    public void setSourceFolders( final List<IPath> paths )
-    {
-        if( ! this.sourceFolders.equals( paths ) )
-        {
-            this.sourceFolders.clear();
-            this.sourceFolders.addAll( paths );
-
-            final ChangeEvent event = new ChangeEvent( ChangeEvent.Type.SOURCE_FOLDERS_CHANGED, this );
-            this.listeners.notifyListeners( ChangeEvent.Type.SOURCE_FOLDERS_CHANGED, event );
-        }
-    }
-    
-    public void setSourceFolder( final IPath path )
-    {
-        final List<IPath> newSourceFolders;
-        
-        if( path == null )
-        {
-            newSourceFolders = Collections.emptyList();
-        }
-        else
-        {
-            newSourceFolders = Collections.singletonList( path );
-        }
-        
-        setSourceFolders( newSourceFolders );
-    }
-    
-    public void addSourceFolder( final IPath path )
-    {
-        final List<IPath> newSourceFolders = new ArrayList<IPath>( getSourceFolders() );
-        newSourceFolders.add( path );
-        setSourceFolders( newSourceFolders );
-    }
-    
-    public void removeSourceFolder( final IPath path )
-    {
-        final List<IPath> newSourceFolders = new ArrayList<IPath>( getSourceFolders() );
-        newSourceFolders.remove( path );
-        setSourceFolders( newSourceFolders );
-    }
-    
-    public IPath getDefaultOutputFolder()
-    {
-        return this.defaultOutputFolder;
-    }
-    
-    public void setDefaultOutputFolder( final IPath defaultOutputFolder )
-    {
-        if( ! equal( this.defaultOutputFolder, defaultOutputFolder ) )
-        {
-            this.defaultOutputFolder = defaultOutputFolder;
-            
-            final ChangeEvent event = new ChangeEvent( ChangeEvent.Type.DEFAULT_OUTPUT_FOLDER_CHANGED, this );
-            this.listeners.notifyListeners( ChangeEvent.Type.DEFAULT_OUTPUT_FOLDER_CHANGED, event );
-        }
-    }
-    
-    public void addListener( final IEventListener<ChangeEvent> listener,
-                             final ChangeEvent.Type... types )
-    {
-        this.listeners.addListener( listener, types );
-    }
-    
-    public void removeListener( final IEventListener<ChangeEvent> listener )
-    {
-        this.listeners.removeListener( listener );
-    }
-    
-    
-
-    private static boolean equal( final Object obj1,
-                                  final Object obj2 )
-    {
-        if( obj1 == null || obj2 == null )
-        {
-            return false;
-        }
-        else
-        {
-            return obj1.equals( obj2 );
-        }
-    }
-    
-    private static String getProductProperty( final String propName )
-    {
-        String value = null;
-        
-        if( Platform.getProduct() != null )
-        {
-            value = Platform.getProduct().getProperty( propName );
-        }
-        
-        return value;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetUninstallConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetUninstallConfig.java
deleted file mode 100644
index eb29b44..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetUninstallConfig.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil;
-import org.eclipse.wst.common.project.facet.core.ActionConfig;
-
-/**
- * @since 1.4
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class JavaFacetUninstallConfig
-
-    extends ActionConfig
-    
-{
-    @Override
-    public Set<IFile> getValidateEditFiles()
-    {
-        final Set<IFile> files = super.getValidateEditFiles();
-        final IProject project = getFacetedProjectWorkingCopy().getProject();
-        
-        files.add( project.getFile( IProjectDescription.DESCRIPTION_FILE_NAME ) );
-        files.add( project.getFile( JavaFacetUtil.FILE_CLASSPATH ) );
-        files.add( project.getFile( JavaFacetUtil.FILE_JDT_CORE_PREFS ) );
-        files.add( project.getFile( ClasspathHelper.LEGACY_METADATA_FILE_NAME ) );
-        
-        return files;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetVersionChangeConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetVersionChangeConfig.java
deleted file mode 100644
index 02e9deb..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacetVersionChangeConfig.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil;
-import org.eclipse.wst.common.project.facet.core.ActionConfig;
-
-/**
- * @since 1.4
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class JavaFacetVersionChangeConfig
-
-    extends ActionConfig
-    
-{
-    @Override
-    public Set<IFile> getValidateEditFiles()
-    {
-        final Set<IFile> files = super.getValidateEditFiles();
-        final IProject project = getFacetedProjectWorkingCopy().getProject();
-        
-        files.add( project.getFile( JavaFacetUtil.FILE_CLASSPATH ) );
-        files.add( project.getFile( JavaFacetUtil.FILE_JDT_CORE_PREFS ) );
-        files.add( project.getFile( ClasspathHelper.LEGACY_METADATA_FILE_NAME ) );
-        
-        return files;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
deleted file mode 100644
index 99490af..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstall2;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class StandardJreRuntimeComponent 
-{
-    public static final String TYPE_ID = "standard.jre"; //$NON-NLS-1$
-    public static final IRuntimeComponentType TYPE = RuntimeManager.getRuntimeComponentType( TYPE_ID );
-    public static final IRuntimeComponentVersion VERSION_1_3 = TYPE.getVersion( "1.3" ); //$NON-NLS-1$
-    public static final IRuntimeComponentVersion VERSION_1_4 = TYPE.getVersion( "1.4" ); //$NON-NLS-1$
-    public static final IRuntimeComponentVersion VERSION_1_5 = TYPE.getVersion( "1.5" ); //$NON-NLS-1$
-    public static final IRuntimeComponentVersion VERSION_1_6 = TYPE.getVersion( "1.6" ); //$NON-NLS-1$
-    public static final IRuntimeComponentVersion VERSION_1_7 = TYPE.getVersion( "1.7" ); //$NON-NLS-1$
-
-    @Deprecated
-    public static final IRuntimeComponentVersion VERSION_5_0 = VERSION_1_5;
-    
-    @Deprecated( )
-    public static final IRuntimeComponentVersion VERSION_6_0 = VERSION_1_6;
-
-    public static final String PROP_VM_INSTALL_TYPE = "vm-install-type"; //$NON-NLS-1$
-    public static final String PROP_VM_INSTALL_ID = "vm-install-id"; //$NON-NLS-1$
-    
-    public static IRuntimeComponent create( final IVMInstall vmInstall )
-    {
-        String jvmver = null;
-        
-        if( vmInstall instanceof IVMInstall2 )
-        {
-            final IVMInstall2 vmInstall2 = (IVMInstall2) vmInstall;
-            jvmver = vmInstall2.getJavaVersion();
-        }
-        
-        final IRuntimeComponentVersion rcv;
-        
-        if( jvmver == null ) 
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_7;
-        } 
-        else if( jvmver.startsWith( "1.3" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_3;
-        }
-        else if( jvmver.startsWith( "1.4" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_4;
-        }
-        else if( jvmver.startsWith( "1.5" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_5;
-        }
-        else if( jvmver.startsWith( "1.6" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_6;
-        }
-        else if( jvmver.startsWith( "1.7" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_7;
-        }
-        else 
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_7;
-        }
-        
-        final Map<String,String> properties = new HashMap<String,String>();
-        
-        if( vmInstall != null )
-        {
-            properties.put( StandardJreRuntimeComponent.PROP_VM_INSTALL_TYPE, 
-                            vmInstall.getVMInstallType().getId() );
-            
-            properties.put( StandardJreRuntimeComponent.PROP_VM_INSTALL_ID, 
-                            vmInstall.getId() );
-        }
-        
-        return RuntimeManager.createRuntimeComponent( rcv, properties );
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/ClasspathUtil.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/ClasspathUtil.java
deleted file mode 100644
index 5b72161..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/ClasspathUtil.java
+++ /dev/null
@@ -1,546 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.core.ClasspathEntry;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-@SuppressWarnings( "restriction" )
-public final class ClasspathUtil
-{
-    public static final String LEGACY_METADATA_FILE_NAME 
-        = ".settings/org.eclipse.jst.common.project.facet.core.prefs"; //$NON-NLS-1$
-
-    public static final Object SYSTEM_OWNER = new Object();
-    private static final String OWNER_PROJECT_FACETS_ATTR = "owner.project.facets"; //$NON-NLS-1$
-    
-    private ClasspathUtil() {}
-
-    public static List<IClasspathEntry> getProjectClasspath( final IJavaProject project )
-    
-        throws CoreException
-        
-    {
-        final List<IClasspathEntry> result = new ArrayList<IClasspathEntry>();
-        
-        for( IClasspathEntry cpe : project.getRawClasspath() )
-        {
-            result.add( cpe );
-        }
-        
-        return result;
-    }
-    
-    public static void setProjectClasspath( final IJavaProject project,
-                                            final List<IClasspathEntry> cp )
-    
-        throws CoreException
-        
-    {
-        validateClasspathEdit( project );
-        project.setRawClasspath( cp.toArray( new IClasspathEntry[ cp.size() ] ), null );
-    }
-    
-    public static void addClasspathEntry( final IProject project,
-                                          final IClasspathEntry cpe )
-    
-        throws CoreException
-        
-    {
-        addClasspathEntry( JavaCore.create( project ), cpe );
-    }
-
-    public static void addClasspathEntry( final IJavaProject project,
-                                          final IClasspathEntry cpe )
-    
-        throws CoreException
-        
-    {
-        validateClasspathEdit( project );
-        
-        final IClasspathEntry[] cpOld = project.getRawClasspath();
-        final IClasspathEntry[] cpNew = new IClasspathEntry[ cpOld.length + 1 ];
-        System.arraycopy( cpOld, 0, cpNew, 0, cpOld.length );
-        cpNew[ cpOld.length ] = cpe;
-        project.setRawClasspath( cpNew, null );
-    }
-
-    public static List<IClasspathEntry> getClasspathEntries( final IProject project,
-                                                             final IProjectFacet facet )
-                                                             
-        throws CoreException
-        
-    {
-        final IJavaProject jproj = JavaCore.create( project );
-        return getClasspathEntries( jproj, facet );
-    }
-    
-    public static List<IClasspathEntry> getClasspathEntries( final IJavaProject project,
-                                                             final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        final List<IClasspathEntry> result = new ArrayList<IClasspathEntry>();
-        
-        for( IClasspathEntry cpe : project.getRawClasspath() )
-        {
-            final Set<Object> owners = getOwners( project, cpe );
-            
-            if( owners.contains( facet ) )
-            {
-                result.add( cpe );
-            }
-        }
-        
-        return result;
-    }
-    
-    
-    public static void addClasspathEntries( final IProject project,
-                                            final IProjectFacet facet,
-                                            final List<IClasspathEntry> cpentries )
-    
-        throws CoreException
-        
-    {
-        final IJavaProject jproj = JavaCore.create( project );
-        addClasspathEntries( jproj, facet, cpentries );
-    }
-    
-    public static void addClasspathEntries( final IJavaProject project,
-                                            final IProjectFacet facet,
-                                            final List<IClasspathEntry> cpentries )
-    
-        throws CoreException
-        
-    {
-        validateClasspathEdit( project );
-        convertLegacyMetadata( project );
-        
-        final List<IClasspathEntry> cp = getProjectClasspath( project );
-        
-        for( IClasspathEntry cpe : cpentries )
-        {
-            IClasspathEntry existingClasspathEntry = null;
-            
-            for( IClasspathEntry x : cp )
-            {
-                if( x.getPath().equals( cpe.getPath() ) )
-                {
-                    existingClasspathEntry = x;
-                    break;
-                }
-            }
-
-            final Set<Object> owners = getOwners( project, existingClasspathEntry );
-            
-            owners.add( facet );
-            
-            if( existingClasspathEntry != null )
-            {
-                final IClasspathEntry annotatedEntry = setOwners( existingClasspathEntry, owners );
-                final int existingIndex = cp.indexOf( existingClasspathEntry );
-                cp.set( existingIndex, annotatedEntry );
-            }
-            else
-            {
-                final IClasspathEntry annotatedEntry = setOwners( cpe, owners );
-                cp.add( annotatedEntry );
-            }
-        }
-
-        setProjectClasspath( project, cp );
-    }
-    
-    public static void removeClasspathEntries( final IProject project,
-                                               final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        final IJavaProject jproj = JavaCore.create( project );
-        removeClasspathEntries( jproj, facet );
-    }
-        
-    public static void removeClasspathEntries( final IJavaProject project,
-                                               final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        validateClasspathEdit( project );
-        convertLegacyMetadata( project );
-        
-        final List<IClasspathEntry> cp = getProjectClasspath( project );
-        boolean cpchanged = false;
-        
-        for( ListIterator<IClasspathEntry> itr = cp.listIterator(); itr.hasNext(); )
-        {
-            final IClasspathEntry cpe = itr.next();
-            final Set<Object> owners = getOwners( project, cpe );
-            
-            if( owners.remove( facet ) )
-            {
-                if( owners.size() == 0 )
-                {
-                    itr.remove();
-                }
-                else
-                {
-                    itr.set( setOwners( cpe, owners ) );
-                }
-                
-                cpchanged = true;
-            }
-        }
-
-        if( cpchanged )
-        {
-            setProjectClasspath( project, cp );
-        }
-    }
-
-    public static void removeClasspathEntries( final IProject project,
-                                               final IProjectFacet facet,
-                                               final List<IClasspathEntry> cpentries )
-    
-        throws CoreException
-        
-    {
-        final IJavaProject jproj = JavaCore.create( project );
-        removeClasspathEntries( jproj, facet, cpentries );
-    }
-        
-    public static void removeClasspathEntries( final IJavaProject project,
-                                               final IProjectFacet facet,
-                                               final List<IClasspathEntry> cpentries )
-    
-        throws CoreException
-        
-    {
-        validateClasspathEdit( project );
-        convertLegacyMetadata( project );
-        
-        final List<IClasspathEntry> cp = getProjectClasspath( project );
-        boolean cpchanged = false;
-        
-        for( ListIterator<IClasspathEntry> itr = cp.listIterator(); itr.hasNext(); )
-        {
-            final IClasspathEntry cpe = itr.next();
-            
-            if( cpentries.contains( cpe ) )
-            {
-                final Set<Object> owners = getOwners( project, cpe );
-                
-                if( owners.remove( facet ) )
-                {
-                    if( owners.size() == 0 )
-                    {
-                        itr.remove();
-                    }
-                    else
-                    {
-                        itr.set( setOwners( cpe, owners ) );
-                    }
-                    
-                    cpchanged = true;
-                }
-            }
-        }
-
-        if( cpchanged )
-        {
-            setProjectClasspath( project, cp );
-        }
-    }
-    
-    private static Set<Object> getOwners( final IJavaProject project,
-                                          final IClasspathEntry cpe )
-                                          
-        throws CoreException
-        
-    {
-        final Set<Object> owners = new HashSet<Object>();
-        
-        if( cpe != null )
-        {
-            for( IClasspathAttribute attr : cpe.getExtraAttributes() )
-            {
-                if( attr.getName().equals( OWNER_PROJECT_FACETS_ATTR ) )
-                {
-                    owners.addAll( decodeOwnersString( attr.getValue() ) );
-                    break;
-                }
-            }
-            
-            owners.addAll( getOwnersFromLegacyMetadata( project, cpe ) );
-            
-            if( owners.isEmpty() )
-            {
-                owners.add( SYSTEM_OWNER );
-            }
-        }
-        
-        return owners;
-    }
-
-    private static Set<Object> getOwnersFromLegacyMetadata( final IJavaProject project,
-                                                            final IClasspathEntry cpe )
-    
-        throws CoreException
-        
-    {
-        final IProject pj = project.getProject();
-        final IFile legacyMetadataFile = pj.getFile( LEGACY_METADATA_FILE_NAME );
-        
-        if( legacyMetadataFile.exists() )
-        {
-            final ProjectScope scope = new ProjectScope( pj );
-            final IEclipsePreferences pluginRoot = scope.getNode( FacetCorePlugin.PLUGIN_ID );
-            final Preferences root = pluginRoot.node( "classpath.helper" ); //$NON-NLS-1$
-            
-            final String[] keys;
-            
-            try
-            {
-                keys = root.childrenNames();
-            }
-            catch( BackingStoreException e )
-            {
-                throw new CoreException( FacetCorePlugin.createErrorStatus( e.getMessage(), e ) );
-            }
-            
-            for( String key : keys )
-            {
-                final Preferences node = root.node( key );
-                final String owners = node.get( "owners", null ); //$NON-NLS-1$
-                
-                if( owners != null )
-                {
-                    final IPath path = new Path( key.replaceAll( "::", "/" ) ); //$NON-NLS-1$ //$NON-NLS-2$
-                    
-                    if( cpe.getPath().equals( path ) )
-                    {
-                        return decodeOwnersString( owners );
-                    }
-                }
-            }
-        }
-        
-        return Collections.emptySet();
-    }
-
-    private static IClasspathEntry setOwners( final IClasspathEntry cpe,
-                                              final Set<Object> owners )
-    {
-        if( owners.size() == 1 && owners.iterator().next() == SYSTEM_OWNER )
-        {
-            owners.clear();
-        }
-        
-        final String ownersString = ( owners.size() == 0 ? null : encodeOwnersString( owners ) );
-        return setOwners( cpe, ownersString );
-    }
-
-    private static IClasspathEntry setOwners( final IClasspathEntry cpe,
-                                              final String owners )
-    {
-        final List<IClasspathAttribute> attrs = new ArrayList<IClasspathAttribute>();
-        
-        for( IClasspathAttribute attr : cpe.getExtraAttributes() )
-        {
-            if( ! attr.getName().equals( OWNER_PROJECT_FACETS_ATTR ) )
-            {
-                attrs.add( attr );
-            }
-        }
-        
-        if( owners != null )
-        {
-            attrs.add( JavaCore.newClasspathAttribute( OWNER_PROJECT_FACETS_ATTR, owners ) );
-        }
-        
-        return new ClasspathEntry( cpe.getContentKind(), cpe.getEntryKind(), cpe.getPath(),
-                                   cpe.getInclusionPatterns(), cpe.getExclusionPatterns(),
-                                   cpe.getSourceAttachmentPath(), cpe.getSourceAttachmentRootPath(),
-                                   cpe.getOutputLocation(), cpe.isExported(), cpe.getAccessRules(),
-                                   cpe.combineAccessRules(), 
-                                   attrs.toArray( new IClasspathAttribute[ attrs.size() ] ) );
-    }
-
-    private static String encodeOwnersString( final Set<Object> owners )
-    {
-        final StringBuilder buf = new StringBuilder();
-        
-        for( Object owner : owners )
-        {
-            if( buf.length() > 0 ) 
-            {
-                buf.append( ';' );
-            }
-            
-            if( owner == SYSTEM_OWNER )
-            {
-                buf.append( "#system#" ); //$NON-NLS-1$
-            }
-            else
-            {
-                final IProjectFacet facet = (IProjectFacet) owner;
-                buf.append( facet.getId() );
-            }
-        }
-        
-        return buf.toString();
-    }
-    
-    private static Set<Object> decodeOwnersString( final String str )
-    {
-        final Set<Object> owners = new HashSet<Object>();
-        final String[] split = str.split( ";" ); //$NON-NLS-1$
-        
-        for( int j = 0; j < split.length; j++ )
-        {
-            final String segment = split[ j ];
-            
-            if( segment.equals( "#system#" ) ) //$NON-NLS-1$
-            {
-                owners.add( SYSTEM_OWNER );
-            }
-            else
-            {
-                String facetId = segment;
-                final int colon = facetId.indexOf( ':' );
-                
-                if( colon != -1 )
-                {
-                    facetId = facetId.substring( 0, colon );
-                }
-                
-                owners.add( ProjectFacetsManager.getProjectFacet( facetId ) );
-            }
-        }
-        
-        return owners;
-    }
-    
-    private static void convertLegacyMetadata( final IJavaProject project )
-    
-        throws CoreException
-        
-    {
-        final IProject pj = project.getProject();
-        final IFile legacyMetadataFile = pj.getFile( LEGACY_METADATA_FILE_NAME );
-        
-        if( legacyMetadataFile.exists() )
-        {
-            final ProjectScope scope = new ProjectScope( pj );
-            final IEclipsePreferences pluginRoot = scope.getNode( FacetCorePlugin.PLUGIN_ID );
-            final Preferences root = pluginRoot.node( "classpath.helper" ); //$NON-NLS-1$
-            final Map<IPath,String> metadata = new HashMap<IPath,String>();
-            
-            final String[] keys;
-            
-            try
-            {
-                keys = root.childrenNames();
-            }
-            catch( BackingStoreException e )
-            {
-                throw new CoreException( FacetCorePlugin.createErrorStatus( e.getMessage(), e ) );
-            }
-            
-            for( String key : keys )
-            {
-                final Preferences node = root.node( key );
-                final String owners = node.get( "owners", null ); //$NON-NLS-1$
-                
-                if( owners != null )
-                {
-                    metadata.put( new Path( key.replaceAll( "::", "/" ) ), owners ); //$NON-NLS-1$ //$NON-NLS-2$
-                }
-            }
-            
-            if( ! metadata.isEmpty() )
-            {
-                final List<IClasspathEntry> cp = getProjectClasspath( project );
-                boolean cpchanged = false;
-                
-                for( ListIterator<IClasspathEntry> itr = cp.listIterator(); itr.hasNext(); )
-                {
-                    final IClasspathEntry cpe = itr.next();
-                    final String ownersString = metadata.get( cpe.getPath() );
-                    
-                    if( ownersString != null )
-                    {
-                        final Set<Object> owners = decodeOwnersString( ownersString );
-                        itr.set( setOwners( cpe, encodeOwnersString( owners ) ) );
-                        cpchanged = true;
-                    }
-                }
-                
-                if( cpchanged )
-                {
-                    setProjectClasspath( project, cp );
-                }
-            }
-            
-            legacyMetadataFile.delete( true, null );
-        }
-    }
-    
-    private static void validateClasspathEdit( final IJavaProject jproject )
-    
-        throws CoreException
-        
-    {
-        final IWorkspace ws = ResourcesPlugin.getWorkspace();
-        final IProject project = jproject.getProject();
-        final IStatus st = ws.validateEdit( new IFile[] { project.getFile( ".classpath" ) }, IWorkspace.VALIDATE_PROMPT ); //$NON-NLS-1$
-        
-        if( st.getSeverity() == IStatus.ERROR )
-        {
-            throw new CoreException( st );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/FacetCorePlugin.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/FacetCorePlugin.java
deleted file mode 100644
index 6d985c5..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/FacetCorePlugin.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-public final class FacetCorePlugin 
-
-    extends Plugin
-
-{
-    public static final String PLUGIN_ID = "org.eclipse.jst.common.project.facet.core"; //$NON-NLS-1$
-    public static final String OUTPUT_FOLDER = "outputFolder"; //$NON-NLS-1$
-    public static final String PROD_PROP_SOURCE_FOLDER_LEGACY = "defaultSource"; //$NON-NLS-1$    
-    private static final String PROD_PROP_SOURCE_FOLDER = "defaultJavaSourceFolder"; //$NON-NLS-1$
-    public static final String DEFAULT_SOURCE_FOLDER = "src"; //$NON-NLS-1$
-    public static final String DEFUALT_OUTPUT_FOLDER ="build/classes"; //$NON-NLS-1$
-    
-    private static FacetCorePlugin inst;
-
-    /**
-     * Get the plugin singleton.
-     */
-    
-    public static FacetCorePlugin getDefault() 
-    {
-        return inst;
-    }
-    
-    public FacetCorePlugin() {
-    	super();
-		if (inst == null)
-			inst = this;
-	}
-    public String getPluginID() 
-    {
-        return PLUGIN_ID;
-    }
-    
-    public static void log( final Exception e )
-    {
-        final ILog log = FacetCorePlugin.getDefault().getLog();
-        final String msg = "Encountered an unexpected exception."; //$NON-NLS-1$
-        
-        log.log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e ) );
-    }
-    
-    public static IStatus createErrorStatus( final String msg )
-    {
-        return createErrorStatus( msg, null );
-    }
-
-    public static IStatus createErrorStatus( final String msg,
-                                             final Exception e )
-    {
-        return new Status( IStatus.ERROR, FacetCorePlugin.PLUGIN_ID, 0, msg, e );
-    }
-    
-    
-    
-    public static String getJavaSrcFolder(){
-    	String srcFolder = FacetCorePlugin.getDefault().getPluginPreferences().getString(PROD_PROP_SOURCE_FOLDER_LEGACY);
-    	if( srcFolder == null || srcFolder.equals("") ){ //$NON-NLS-1$
-    		if( Platform.getProduct() != null ){
-    			srcFolder = Platform.getProduct().getProperty( PROD_PROP_SOURCE_FOLDER );
-    		    if( srcFolder == null || srcFolder.equals("")){ //$NON-NLS-1$
-    		    	srcFolder = Platform.getProduct().getProperty( PROD_PROP_SOURCE_FOLDER_LEGACY );
-    		    }      			
-    		}
-	    	if( srcFolder == null || srcFolder.equals("") ){ //$NON-NLS-1$
-	    		srcFolder = DEFAULT_SOURCE_FOLDER;
-	    	}
-
-    	}
-	    return srcFolder;
-    }
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/FacetedProjectFrameworkJavaPlugin.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/FacetedProjectFrameworkJavaPlugin.java
deleted file mode 100644
index e438ee3..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/FacetedProjectFrameworkJavaPlugin.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetedProjectFrameworkJavaPlugin 
-{
-    public static final String PLUGIN_ID = "org.eclipse.jst.common.project.facet.core"; //$NON-NLS-1$
-    
-    private static final ILog platformLog
-        = Platform.getLog( Platform.getBundle( PLUGIN_ID ) );
-    
-    public static IEclipsePreferences getWorkspacePreferences()
-    {
-        final InstanceScope prefs = new InstanceScope();
-        return prefs.getNode( PLUGIN_ID );
-    }
-    
-    public static void log( final Exception e )
-    {
-        final String message = e.getMessage() + ""; //$NON-NLS-1$
-        log( createErrorStatus( message, e ) );
-    }
-
-    public static void log( final IStatus status )
-    {
-        platformLog.log( status );
-    }
-    
-    public static void logError( final String message )
-    {
-        log( createErrorStatus( message ) );
-    }
-    
-    public static IStatus createErrorStatus( final String message )
-    {
-        return createErrorStatus( message, null );
-    }
-
-    public static IStatus createErrorStatus( final Exception e )
-    {
-        return createErrorStatus( e.getMessage(), e );
-    }
-    
-    public static IStatus createErrorStatus( final String message,
-                                             final Exception e )
-    {
-        return new Status( IStatus.ERROR, PLUGIN_ID, -1, message, e )  ;      
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDefaultVersionProvider.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDefaultVersionProvider.java
deleted file mode 100644
index 80dded5..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDefaultVersionProvider.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.wst.common.project.facet.core.IDefaultVersionProvider;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Defaults the java facet version to align with workspace java compiler
- * level settings.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetDefaultVersionProvider
-
-    implements IDefaultVersionProvider
-    
-{
-    public IProjectFacetVersion getDefaultVersion()
-    {
-        final String compilerLevel = JavaFacetUtil.getCompilerLevel();
-        
-        if( JavaFacet.FACET.hasVersion( compilerLevel ) )
-        {
-            return JavaFacet.FACET.getVersion( compilerLevel );
-        }
-        else
-        {
-            try
-            {
-                return JavaFacet.FACET.getLatestVersion();
-            }
-            catch( CoreException e )
-            {
-                // Not expected for this facet.
-                
-                throw new RuntimeException( e );
-            }
-        }
-    }
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDelegate.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDelegate.java
deleted file mode 100644
index d661fc0..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDelegate.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.common.project.facet.core.ClasspathHelper;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFrameworkException;
-import org.eclipse.wst.common.project.facet.core.IDelegate;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public abstract class JavaFacetDelegate 
-
-    implements IDelegate 
-    
-{
-    protected static final class RelevantFiles
-    {
-        public final IFile dotProjectFile;
-        public final IFile dotClasspathFile;
-        public final IFile jdtCorePrefsFile;
-        public final IFile jstFacetCorePrefsFile;
-        
-        public RelevantFiles( final IProject project )
-        {
-            this.dotProjectFile = project.getFile( IProjectDescription.DESCRIPTION_FILE_NAME );
-            this.dotClasspathFile = project.getFile( JavaFacetUtil.FILE_CLASSPATH );
-            this.jdtCorePrefsFile = project.getFile( JavaFacetUtil.FILE_JDT_CORE_PREFS );
-            this.jstFacetCorePrefsFile = project.getFile( ClasspathHelper.LEGACY_METADATA_FILE_NAME );
-        }
-    }
-    
-    protected static void validateEdit( final IProject project )
-    
-        throws CoreException
-        
-    {
-        validateEdit( new RelevantFiles( project ) );
-    }
-    
-    protected static void validateEdit( final RelevantFiles files )
-    
-        throws CoreException
-        
-    {
-        final List<IFile> list = new ArrayList<IFile>();
-        
-        list.add( files.dotProjectFile );
-        
-        if( files.dotClasspathFile.exists() )
-        {
-            list.add( files.dotClasspathFile );
-        }
-        
-        if( files.jdtCorePrefsFile.exists() )
-        {
-            list.add( files.jdtCorePrefsFile );
-        }
-        
-        if( files.jstFacetCorePrefsFile.exists() )
-        {
-            list.add( files.jstFacetCorePrefsFile );
-        }
-        
-        final IWorkspace ws = ResourcesPlugin.getWorkspace();
-        
-        final IStatus validateEditStatus 
-            = ws.validateEdit( list.toArray( new IFile[ list.size() ] ), IWorkspace.VALIDATE_PROMPT );
-        
-        if( validateEditStatus.getSeverity() == IStatus.ERROR )
-        {
-            final FacetedProjectFrameworkException e 
-                = new FacetedProjectFrameworkException( validateEditStatus );
-            
-            e.setExpected( true );
-            
-            throw e;
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDetector.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDetector.java
deleted file mode 100644
index cb5fb83..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetDetector.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetDetector;
-
-public final class JavaFacetDetector
-
-    extends ProjectFacetDetector
-    
-{
-    private static final Pattern IMPORT_STATEMENT_PATTERN = Pattern.compile( ".*package[ ]*(.*);.*" ); //$NON-NLS-1$
-    
-    public static void main( final String[] args )
-    {
-        final Matcher matcher = IMPORT_STATEMENT_PATTERN.matcher( "package a.b.c;" ); //$NON-NLS-1$
-        
-        if( matcher.matches() )
-        {
-            System.err.println( matcher.group( 1 ) );
-        }
-        else
-        {
-            System.err.println( "no match" ); //$NON-NLS-1$
-        }
-    }
-    
-    @Override
-    public void detect( final IFacetedProjectWorkingCopy fpjwc,
-                        final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        monitor.beginTask( "", 1 ); //$NON-NLS-1$
-        
-        try
-        {
-            if( fpjwc.hasProjectFacet( JavaFacet.FACET ) )
-            {
-                return;
-            }
-            
-            if( fpjwc.getProject().hasNature( JavaCore.NATURE_ID ) )
-            {
-                fpjwc.addProjectFacet( JavaFacet.FACET.getDefaultVersion() );
-            }
-            else
-            {
-                final IProject pj = fpjwc.getProject();
-                final List<IPath> sourceFolders = detectSourceFolders( pj );
-                
-                if( ! sourceFolders.isEmpty() )
-                {
-                    fpjwc.addProjectFacet( JavaFacet.FACET.getDefaultVersion() );
-                    
-                    final JavaFacetInstallConfig javaFacetInstallConfig
-                        = (JavaFacetInstallConfig) fpjwc.getProjectFacetAction( JavaFacet.FACET ).getConfig();
-                    
-                    javaFacetInstallConfig.setSourceFolders( sourceFolders );
-                    javaFacetInstallConfig.setDefaultOutputFolder( null );
-                }
-            }
-        }
-        finally
-        {
-            monitor.done();
-        }
-    }
-    
-    private List<IPath> detectSourceFolders( final IResource resource )
-    
-        throws CoreException
-        
-    {
-        if( resource instanceof IFile )
-        {
-            final String extension = resource.getFileExtension();
-            
-            if( extension != null && extension.equals( "java" ) ) //$NON-NLS-1$
-            {
-                final InputStream in = ( (IFile) resource ).getContents( true );
-                
-                try
-                {
-                    final BufferedReader reader = new BufferedReader( new InputStreamReader( in ) );
-                    
-                    for( String line = reader.readLine(); line != null; line = reader.readLine() )
-                    {
-                        final Matcher matcher = IMPORT_STATEMENT_PATTERN.matcher( line );
-                        
-                        if( matcher.matches() )
-                        {
-                            final String packageName = matcher.group( 1 );
-                            final IPath packagePath = new Path( packageName.replace( '.', '/' ) );
-                            final int packagePathLength = packagePath.segmentCount();
-                            
-                            IPath path = resource.getProjectRelativePath().removeLastSegments( 1 );
-                            
-                            if( path.segmentCount() > packagePathLength )
-                            {
-                                for( int i = packagePathLength - 1; i >= 0; i-- )
-                                {
-                                    if( path.lastSegment().equals( packagePath.segment( i ) ) )
-                                    {
-                                        path = path.removeLastSegments( 1 );
-                                    }
-                                    else
-                                    {
-                                        return Collections.emptyList();
-                                    }
-                                }
-                                
-                                return Collections.singletonList( path );
-                            }
-                            else
-                            {
-                                return Collections.emptyList();
-                            }
-                        }
-                    }
-                }
-                catch( IOException e )
-                {
-                    FacetCorePlugin.log( e );
-                }
-                finally
-                {
-                    try
-                    {
-                        in.close();
-                    }
-                    catch( IOException e ) {}
-                }
-            }
-            
-            return Collections.emptyList();
-        }
-        else
-        {
-            List<IPath> result = null;
-            
-            for( IResource child : ( (IContainer) resource ).members() )
-            {
-                final List<IPath> subResult = detectSourceFolders( child );
-                final IPath childPath = child.getProjectRelativePath();
-
-                if( ! subResult.isEmpty() )
-                {
-                    final IPath subResultPath = subResult.get( 0 );
-                    
-                    if( subResult.size() == 1 && subResultPath.isPrefixOf( childPath ) && 
-                        childPath.segmentCount() > subResultPath.segmentCount() )
-                    {
-                        return subResult;
-                    }
-                    
-                    if( result == null )
-                    {
-                        result = new ArrayList<IPath>();
-                    }
-                    
-                    result.addAll( subResult );
-                }
-            }
-            
-            return ( result == null ? Collections.<IPath>emptyList() : result );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallConfigFactory.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallConfigFactory.java
deleted file mode 100644
index 23817b8..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallConfigFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig;
-import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetInstallConfigFactory
-
-    implements IActionConfigFactory
-    
-{
-    public Object create() 
-    {
-        return new JavaFacetInstallConfig();
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallDelegate.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallDelegate.java
deleted file mode 100644
index f092977..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetInstallDelegate.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetInstallDelegate 
-
-    extends JavaFacetDelegate 
-    
-{
-    public void execute( final IProject project, 
-                         final IProjectFacetVersion fv, 
-                         final Object cfg, 
-                         final IProgressMonitor monitor ) 
-    
-        throws CoreException 
-        
-    {
-        validateEdit( project );
-        
-        final JavaFacetInstallConfig config = castToConfig( cfg );
-
-        // Create the source and the output directories.
-
-        IJavaProject jproject = null;
-        
-        if( project.exists() )
-        {
-            jproject = JavaCore.create( project );
-        }
-        
-        if( ! jproject.exists() )
-        {
-            final List<IClasspathEntry> cp = new ArrayList<IClasspathEntry>();
-            
-            for( IPath srcFolderPath : config.getSourceFolders() )
-            {
-                final IFolder folder = project.getFolder( srcFolderPath );
-                mkdirs( folder, false );
-                
-                cp.add( JavaCore.newSourceEntry( folder.getFullPath() ) );
-            }
-            
-            final IPath defOutputPath = config.getDefaultOutputFolder();
-            IFolder defOutputFolder = null;
-            
-            if( defOutputPath != null )
-            {
-                defOutputFolder = project.getFolder( config.getDefaultOutputFolder() );
-                mkdirs( defOutputFolder, true );
-            }
-
-            // Add the java nature. This will automatically add the builder.
-
-            final IProjectDescription desc = project.getDescription();
-            final String[] current = desc.getNatureIds();
-            final String[] replacement = new String[ current.length + 1 ];
-            System.arraycopy( current, 0, replacement, 0, current.length );
-            replacement[ current.length ] = JavaCore.NATURE_ID;
-            desc.setNatureIds( replacement );
-            project.setDescription( desc, null );
-
-            // Setup the classpath.
-            
-            if( defOutputFolder == null )
-            {
-                jproject.setRawClasspath( cp.toArray( new IClasspathEntry[ cp.size() ] ), null ); 
-            }
-            else
-            {
-                jproject.setRawClasspath( cp.toArray( new IClasspathEntry[ cp.size() ] ), 
-                                          defOutputFolder.getFullPath(), null );
-            }
-
-            JavaFacetUtil.resetClasspath( project, null, fv );
-            JavaFacetUtil.setCompilerLevel( project, fv );
-        }
-        else
-        {
-            // Set the compiler compliance level for the project. Ignore whether
-            // this might already be set so at the workspace level in case
-            // workspace settings change later or the project is included in a
-            // different workspace.
-            
-            String oldCompilerLevel = JavaFacetUtil.getCompilerLevel( project );
-            JavaFacetUtil.setCompilerLevel( project, fv );
-            
-            String newCompilerLevel = JavaFacetUtil.getCompilerLevel( project );
-            
-            // Schedule a full build of the project if the compiler level changed
-            // because we want classes in the project to be recompiled.
-            
-            if( newCompilerLevel != null && ! newCompilerLevel.equals( oldCompilerLevel ) )
-            {
-                JavaFacetUtil.scheduleFullBuild( project );
-            }
-        }
-    }
-    
-    private static JavaFacetInstallConfig castToConfig( final Object cfg )
-    {
-        if( cfg instanceof JavaFacetInstallConfig )
-        {
-            return (JavaFacetInstallConfig) cfg;
-        }
-        else
-        {
-            final IAdapterManager manager = Platform.getAdapterManager();
-            return (JavaFacetInstallConfig) manager.getAdapter( cfg, JavaFacetInstallConfig.class );
-        }
-    }
-    
-    private static void mkdirs( final IFolder folder,
-                                final boolean isDerived )
-    
-        throws CoreException
-        
-    {
-        if( ! folder.exists() )
-        {
-            final IContainer parent = folder.getParent();
-            
-            if( parent instanceof IFolder )
-            {
-                mkdirs( (IFolder) parent, isDerived );
-            }
-            
-            folder.create( true, true, null );
-            folder.setDerived( isDerived );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetRuntimeChangedListener.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetRuntimeChangedListener.java
deleted file mode 100644
index 13ab0a6..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetRuntimeChangedListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetRuntimeChangedListener 
-
-    implements IFacetedProjectListener
-    
-{
-    public void handleEvent( final IFacetedProjectEvent event )
-    {
-        final IFacetedProject fproj = event.getProject();
-        
-        if( fproj.hasProjectFacet( JavaFacet.FACET ) )
-        {
-            final IProjectFacetVersion fv = fproj.getInstalledVersion( JavaFacet.FACET );
-            
-            try
-            {
-                JavaFacetUtil.resetClasspath( fproj.getProject(), fv, fv );
-            }
-            catch( CoreException e )
-            {
-                FacetedProjectFrameworkJavaPlugin.log( e );
-            }
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUninstallConfigFactory.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUninstallConfigFactory.java
deleted file mode 100644
index 9e2dbe5..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUninstallConfigFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.jst.common.project.facet.core.JavaFacetUninstallConfig;
-import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetUninstallConfigFactory
-
-    implements IActionConfigFactory
-    
-{
-    public Object create() 
-    {
-        return new JavaFacetUninstallConfig();
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUninstallDelegate.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUninstallDelegate.java
deleted file mode 100644
index 12c63b4..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUninstallDelegate.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetUninstallDelegate 
-
-    extends JavaFacetDelegate 
-    
-{
-    public void execute( final IProject project, 
-                         final IProjectFacetVersion fv, 
-                         final Object cfg, 
-                         final IProgressMonitor monitor ) 
-    
-        throws CoreException 
-        
-    {
-        final RelevantFiles files = new RelevantFiles( project );
-
-        validateEdit( files );
-        
-        // Find output directories. They will be removed later.
-        
-        final List<IPath> outputFolders = new ArrayList<IPath>();
-        
-        try
-        {
-            final IJavaProject jproj = JavaCore.create( project );
-            
-            outputFolders.add( jproj.getOutputLocation() );
-            
-            for( IClasspathEntry cpe : jproj.getRawClasspath() )
-            {
-                outputFolders.add( cpe.getOutputLocation() );
-            }
-        }
-        catch( Exception e )
-        {
-            // Ignore the exception since we tearing down and the user might be doing this
-            // because the project is corrupted.
-        }
-        
-        // Remove java nature. This will automatically remove the builder.
-
-        final IProjectDescription desc = project.getDescription();
-        final List<String> natures = new ArrayList<String>();
-        
-        for( String nature : desc.getNatureIds() )
-        {
-            if( ! nature.equals( JavaCore.NATURE_ID ) )
-            {
-                natures.add( nature );
-            }
-        }
-        
-        desc.setNatureIds( natures.toArray( new String[ natures.size() ] ) );
-        project.setDescription( desc, null );
-
-        // Delete various metadata files.
-        
-        files.dotClasspathFile.delete( true, null );
-        files.jdtCorePrefsFile.delete( true, null );
-        files.jstFacetCorePrefsFile.delete( true, null );
-        
-        // Delete all the output folders and their contents.
-        
-        final IWorkspace ws = ResourcesPlugin.getWorkspace();
-        
-        for( IPath path : outputFolders )
-        {
-            if( path != null )
-            {
-                delete( ws.getRoot().getFolder( path ) );
-            }
-        }
-    }
-    
-    private static final void delete( final IFolder folder )
-    
-        throws CoreException
-        
-    {
-        final IContainer parent = folder.getParent();
-        
-        if( parent instanceof IFolder &&
-            parent.members( IContainer.INCLUDE_HIDDEN | IContainer.INCLUDE_PHANTOMS | 
-                            IContainer.INCLUDE_TEAM_PRIVATE_MEMBERS ).length == 1 )
-        {
-            delete( (IFolder) parent );
-        }
-        else
-        {
-            if( folder.exists() )
-            {
-                folder.delete( true, null );
-            }
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
deleted file mode 100644
index 576a6b0..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.common.project.facet.core.ClasspathHelper;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetUtil
-{
-    public static final String FILE_CLASSPATH = ".classpath";  //$NON-NLS-1$
-    public static final String FILE_JDT_CORE_PREFS = ".settings/org.eclipse.jdt.core.prefs"; //$NON-NLS-1$
-    
-    private static final IPath CPE_PREFIX_FOR_EXEC_ENV 
-        = new Path( "org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType" ); //$NON-NLS-1$
-    
-    private static final Map<IProjectFacetVersion,String> FACET_VER_TO_EXEC_ENV = new HashMap<IProjectFacetVersion,String>();
-    
-    static
-    {
-        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_3, "J2SE-1.3" ); //$NON-NLS-1$
-        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_4, "J2SE-1.4" ); //$NON-NLS-1$
-        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_5, "J2SE-1.5" ); //$NON-NLS-1$
-        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_6, "JavaSE-1.6" ); //$NON-NLS-1$
-        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_1_7, "JavaSE-1.7" ); //$NON-NLS-1$
-    }
-    
-    public static String getCompilerLevel()
-    {
-        String level = JavaCore.getOption( JavaCore.COMPILER_COMPLIANCE );
-        
-        if( level == null )
-        {
-            final Hashtable<?,?> defaults = JavaCore.getDefaultOptions();
-            level = (String) defaults.get( JavaCore.COMPILER_COMPLIANCE );
-        }
-        
-        return level;
-    }
-
-    public static String getCompilerLevel( final IProject project )
-    {
-        final IJavaProject jproj = JavaCore.create( project );
-        String level = jproj.getOption( JavaCore.COMPILER_COMPLIANCE, false );
-        
-        if( level == null )
-        {
-            level = getCompilerLevel();
-        }
-        
-        return level;
-    }
-    
-    public static void setCompilerLevel( final IProject project,
-                                         final IProjectFacetVersion fv )
-    
-        throws CoreException
-        
-    {
-        setCompilerLevel( project, fv.getVersionString() );
-    }
-
-    public static void setCompilerLevel( final IProject project,
-                                         final String level )
-    
-        throws CoreException
-        
-    {
-        final IJavaProject jproj = JavaCore.create( project );
-        final Map<?,?> options = jproj.getOptions( false );
-        JavaCore.setComplianceOptions( level, options );
-        jproj.setOptions( options );
-    }
-    
-    public static void scheduleFullBuild( final IProject project )
-    {
-        // This code is modeled after the code in 
-        // org.eclipse.jdt.internal.ui.util.CoreUtility.getBuildJob() method.
-        
-        final IWorkspace ws = ResourcesPlugin.getWorkspace();
-        
-        final String msg 
-            = NLS.bind( Resources.buildingMsg, project.getName() );
-        
-        final Job buildJob = new Job( msg ) 
-        {
-            public IStatus run( final IProgressMonitor monitor ) 
-            {
-                monitor.beginTask( msg, 2 );
-                
-                try
-                {
-                    project.build( IncrementalProjectBuilder.FULL_BUILD,
-                                   new SubProgressMonitor( monitor, 1 ) );
-                    
-                    ws.build( IncrementalProjectBuilder.INCREMENTAL_BUILD, 
-                              new SubProgressMonitor( monitor, 1 ) );
-                    
-                }
-                catch( CoreException e )
-                {
-                    return e.getStatus();
-                }
-                finally
-                {
-                    monitor.done();
-                }
-                
-                return Status.OK_STATUS;
-            }
-            
-            public boolean belongsTo( final Object family ) 
-            {
-                return family == ResourcesPlugin.FAMILY_MANUAL_BUILD;
-            }
-        };
-         
-        buildJob.setRule( ws.getRuleFactory().buildRule() );
-        buildJob.schedule();
-    }
-    
-    public static void resetClasspath( final IProject project,
-                                       final IProjectFacetVersion oldver,
-                                       final IProjectFacetVersion newver )
-    
-        throws CoreException
-        
-    {
-        if( oldver != null )
-        {
-            ClasspathHelper.removeClasspathEntries( project, oldver );
-        }
-        
-        // If this was a java project before it became a faceted project or
-        // the JRE container has been added manually, the above method will not
-        // delete the old JRE container. Do it manually.
-        
-        removeJreContainer( project );
-        
-        if( ! ClasspathHelper.addClasspathEntries( project, newver ) ) 
-        {
-            final IVMInstall vm = JavaRuntime.getDefaultVMInstall();
-            
-            if( vm != null )
-            {
-                final IPath path = CPE_PREFIX_FOR_EXEC_ENV.append( getCorrespondingExecutionEnvironment( newver ) );
-                final IClasspathEntry cpe = JavaCore.newContainerEntry( path );
-                final List<IClasspathEntry> entries = Collections.singletonList( cpe );
-                
-                ClasspathHelper.addClasspathEntries( project, newver, entries );
-            }
-        }
-    }
-    
-    private static void removeJreContainer( final IProject proj ) 
-    
-        throws CoreException
-        
-    {
-        final IJavaProject jproj = JavaCore.create( proj );
-        final IClasspathEntry[] cp = jproj.getRawClasspath();
-        
-        int pos = -1;
-        
-        for( int i = 0; i < cp.length; i++ )
-        {
-            final IClasspathEntry cpe = cp[ i ];
-            
-            if( cpe.getEntryKind() == IClasspathEntry.CPE_CONTAINER &&
-                cpe.getPath().segment( 0 ).equals( JavaRuntime.JRE_CONTAINER ) )
-            {
-                pos = i;
-                break;
-            }
-        }
-            
-        if( pos == -1 )
-        {
-            return;
-        }
-        
-        final IClasspathEntry[] newcp 
-            = new IClasspathEntry[ cp.length - 1 ];
-        
-        System.arraycopy( cp, 0, newcp, 0, pos );
-        System.arraycopy( cp, pos + 1, newcp, pos, newcp.length - pos );
-        
-        jproj.setRawClasspath( newcp, null );
-    }
-    
-    public static String getCorrespondingExecutionEnvironment( final IProjectFacetVersion fv )
-    {
-        final String res = FACET_VER_TO_EXEC_ENV.get( fv );
-        
-        if( res == null )
-        {
-            throw new IllegalArgumentException( fv.toString() );
-        }
-        
-        return res;
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String buildingMsg;
-        
-        static
-        {
-            initializeMessages( JavaFacetUtil.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.properties
deleted file mode 100644
index b8e00de..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.properties
+++ /dev/null
@@ -1 +0,0 @@
-buildingMsg = Building Project {0}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetValidator.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetValidator.java
deleted file mode 100644
index 5b7e991..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetValidator.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectValidator;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetValidator
-
-    implements IFacetedProjectValidator
-    
-{
-    public static final String MARKER_ID
-        = "org.eclipse.jst.common.project.facet.core.javaVersionMismatch"; //$NON-NLS-1$
-    
-    public static final String ATTR_FACET_VERSION = "facetVersion"; //$NON-NLS-1$
-    public static final String ATTR_COMPILER_LEVEL = "compilerLevel"; //$NON-NLS-1$
-
-    public void validate( final IFacetedProject fproj ) 
-    
-        throws CoreException
-        
-    {
-        final String level 
-            = JavaFacetUtil.getCompilerLevel( fproj.getProject() );
-        
-        final IProjectFacetVersion fv = fproj.getInstalledVersion( JavaFacet.FACET );
-        
-        if( ! JavaFacet.FACET.hasVersion( level ) || JavaFacet.FACET.getVersion( level ) != fv )
-        {
-            final IMarker marker
-                = fproj.createErrorMarker( MARKER_ID, Resources.versionsDontMatch );
-            
-            marker.setAttribute( ATTR_FACET_VERSION, fv.getVersionString() );
-            marker.setAttribute( ATTR_COMPILER_LEVEL, level );
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String versionsDontMatch;
-        
-        static
-        {
-            initializeMessages( JavaFacetValidator.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetValidator.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetValidator.properties
deleted file mode 100644
index 7c1e870..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetValidator.properties
+++ /dev/null
@@ -1 +0,0 @@
-versionsDontMatch = Java compiler level does not match the version of the installed Java project facet.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetVersionChangeConfigFactory.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetVersionChangeConfigFactory.java
deleted file mode 100644
index fb2b6db..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetVersionChangeConfigFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.jst.common.project.facet.core.JavaFacetVersionChangeConfig;
-import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetVersionChangeConfigFactory
-
-    implements IActionConfigFactory
-    
-{
-    public Object create() 
-    {
-        return new JavaFacetVersionChangeConfig();
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetVersionChangeDelegate.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetVersionChangeDelegate.java
deleted file mode 100644
index 6bcabd1..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetVersionChangeDelegate.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.common.project.facet.core.IDelegate;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetVersionChangeDelegate 
-
-    implements IDelegate
-    
-{
-    public void execute( final IProject project, 
-                         final IProjectFacetVersion fv,
-                         final Object cfg,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        if( monitor != null )
-        {
-            monitor.beginTask( "", 1 ); //$NON-NLS-1$
-        }
-        
-        try
-        {
-            // Find the version that's currently installed.
-            
-            final IFacetedProject fproj
-                = ProjectFacetsManager.create( project );
-
-            final IProjectFacetVersion oldver
-                = fproj.getInstalledVersion( fv.getProjectFacet() );
-            
-            // Reset the classpath. 
-            
-            JavaFacetUtil.resetClasspath( project, oldver, fv );
-            
-            // Reset the compiler level.
-            
-            JavaFacetUtil.setCompilerLevel( project, fv );
-            
-            // Schedule a full build of the project.
-            
-            JavaFacetUtil.scheduleFullBuild( project );
-            
-            if( monitor != null )
-            {
-                monitor.worked( 1 );
-            }
-        }
-        finally
-        {
-            if( monitor != null )
-            {
-                monitor.done();
-            }
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaRuntimeBridge.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaRuntimeBridge.java
deleted file mode 100644
index 35b57fa..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaRuntimeBridge.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.common.project.facet.core.StandardJreRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeBridge;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaRuntimeBridge
-
-    implements IRuntimeBridge
-    
-{
-    public Set<String> getExportedRuntimeNames() throws CoreException
-    {
-        final Set<String> result = new HashSet<String>();
-        
-        for( IVMInstallType vmInstallType : JavaRuntime.getVMInstallTypes() )
-        {
-            for( IVMInstall vmInstall : vmInstallType.getVMInstalls() )
-            {
-                result.add( vmInstall.getName() );
-            }
-        }
-
-        return result;
-    }
-
-    
-    public IStub bridge( final String name ) throws CoreException
-    {
-        IVMInstall vmInstall = null;
-        
-        for( IVMInstallType vmInstallType : JavaRuntime.getVMInstallTypes() )
-        {
-            vmInstall = vmInstallType.findVMInstallByName( name );
-            
-            if( vmInstall != null )
-            {
-                break;
-            }
-        }
-        
-        return new Stub( vmInstall );
-    }
-
-    private static class Stub
-    
-        extends IRuntimeBridge.Stub
-        
-    {
-        private final IVMInstall vmInstall;
-
-        public Stub( final IVMInstall vmInstall )
-        {
-            this.vmInstall = vmInstall;
-        }
-
-        public List<IRuntimeComponent> getRuntimeComponents()
-        {
-            final IRuntimeComponent rc = StandardJreRuntimeComponent.create( this.vmInstall );
-            return Collections.singletonList( rc );
-        }
-
-        public Map<String,String> getProperties()
-        {
-            return Collections.emptyMap();
-        }
-    }
-    
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/RuntimeClasspathProvider.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/RuntimeClasspathProvider.java
deleted file mode 100644
index 5e7289d..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/RuntimeClasspathProvider.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jst.common.project.facet.core.IClasspathProvider;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class RuntimeClasspathProvider
-
-    implements IClasspathProvider
-    
-{
-    private final IRuntime r;
-    
-    public RuntimeClasspathProvider( final IRuntime r )
-    {
-        this.r = r;
-    }
-
-    public List getClasspathEntries( final IProjectFacetVersion fv )
-    {
-        for( Iterator itr = this.r.getRuntimeComponents().iterator(); 
-             itr.hasNext(); )
-        {
-            final IRuntimeComponent rc = (IRuntimeComponent) itr.next();
-            
-            final IClasspathProvider cpprov 
-                = (IClasspathProvider) rc.getAdapter( IClasspathProvider.class );
-            
-            if( cpprov != null )
-            {
-                final List cp = cpprov.getClasspathEntries( fv );
-                
-                if( cp != null )
-                {
-                    return cp;
-                }
-            }
-        }
-        
-        return null;
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES = { IClasspathProvider.class };
-        
-        public Object getAdapter( final Object adaptable, 
-                                  final Class adapterType )
-        {
-            if( adapterType == IClasspathProvider.class )
-            {
-                return new RuntimeClasspathProvider( (IRuntime) adaptable );
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/StandardJreClasspathProvider.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/StandardJreClasspathProvider.java
deleted file mode 100644
index 63b8a1f..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/StandardJreClasspathProvider.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.internal;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jst.common.project.facet.core.IClasspathProvider;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.jst.common.project.facet.core.StandardJreRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class StandardJreClasspathProvider 
-
-    implements IClasspathProvider 
-    
-{
-	private IRuntimeComponent rc;
-
-	public StandardJreClasspathProvider( final IRuntimeComponent rc ) 
-	{
-		this.rc = rc;
-	}
-
-	public List<IClasspathEntry> getClasspathEntries( final IProjectFacetVersion fv ) 
-	{
-		if( fv.getProjectFacet() == JavaFacet.FACET ) 
-		{
-		    final IVMInstall vmInstall = getVMInstall();
-		    
-		    if( vmInstall != null )
-		    {
-		        final IPath cpEntryPath = JavaRuntime.newJREContainerPath( vmInstall );
-		        final IClasspathEntry cpEntry = JavaCore.newContainerEntry( cpEntryPath );
-		        
-		        return Collections.singletonList( cpEntry );
-		    }
-		}
-		
-		return null;
-	}
-	
-	private IVMInstall getVMInstall()
-	{
-	    final String vmInstallTypeId 
-	        = this.rc.getProperty( StandardJreRuntimeComponent.PROP_VM_INSTALL_TYPE );
-	    
-	    final String vmInstallId
-	        = this.rc.getProperty( StandardJreRuntimeComponent.PROP_VM_INSTALL_ID );
-	    
-	    if( vmInstallTypeId == null || vmInstallId == null )
-	    {
-	        return null;
-	    }
-	    
-	    final IVMInstallType vmInstallType = JavaRuntime.getVMInstallType( vmInstallTypeId );
-	    
-	    if( vmInstallType == null )
-	    {
-	        return null;
-	    }
-	    
-	    return vmInstallType.findVMInstall( vmInstallId );
-	}
-
-	public static final class Factory
-	
-	    implements IAdapterFactory 
-	
-	{
-		private static final Class[] ADAPTER_TYPES = { IClasspathProvider.class };
-
-		public Class[] getAdapterList() 
-		{
-            return ADAPTER_TYPES;
-        }
-
-		public Object getAdapter( final Object adaptable, 
-		                          final Class adapterType ) 
-		{
-			IRuntimeComponent rc = (IRuntimeComponent) adaptable;
-			return new StandardJreClasspathProvider(rc);
-		}
-	}
-	
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/EnablementExpressionContext.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/EnablementExpressionContext.java
deleted file mode 100644
index a3eae6f..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/EnablementExpressionContext.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Contains all of the information available in the context of library provider enablement
- * expression. Useful for writing custom property testers.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public final class EnablementExpressionContext
-{
-    private final IFacetedProjectBase fproj;
-    private final IProjectFacetVersion fv;
-    private final ILibraryProvider provider;
-    
-    public EnablementExpressionContext( final IFacetedProjectBase fproj,
-                                        final IProjectFacetVersion fv,
-                                        final ILibraryProvider provider )
-    {
-        this.fproj = fproj;
-        this.fv = fv;
-        this.provider = provider;
-    }
-    
-    public IFacetedProjectBase getFacetedProject()
-    {
-        return this.fproj;
-    }
-    
-    public IProjectFacet getRequestingProjectFacet()
-    {
-        return this.fv.getProjectFacet();
-    }
-    
-    public IProjectFacetVersion getRequestingProjectFacetVersion()
-    {
-        return this.fv;
-    }
-    
-    public ILibraryProvider getLibraryProvider()
-    {
-        return this.provider;
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/ILibraryProvider.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/ILibraryProvider.java
deleted file mode 100644
index b2657fc..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/ILibraryProvider.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import java.util.Map;
-
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Represents a single library provider as declared to the framework.
- * 
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public interface ILibraryProvider
-
-    extends Comparable<ILibraryProvider>
-    
-{
-    /**
-     * Returns the id of the library provider. Each library provider must have a unique id.
-     * 
-     * @return the id of the library provider
-     */
-    
-    String getId();
-    
-    /**
-     * Returns the id of the plugin that declares this library provider.
-     * 
-     * @return the id of the plugin that declares this library provider
-     */
-    
-    String getPluginId();
-    
-    /**
-     * Returns the library provider label. This is the text that will be presented to the user
-     * when referencing this library provider. The user never sees the library provider id. The
-     * label can be translated.
-     * 
-     * @return the library provider label
-     */
-    
-    String getLabel();
-    
-    /**
-     * Returns the library provider that this provider extends or <code>null</code> if this
-     * library provider doesn't extend anything.
-     * 
-     * @return the library provider that this provider extends or <code>null</code>
-     */
-    
-    ILibraryProvider getBaseProvider();
-    
-    /**
-     * Returns the root library provider in the extension chain. If this library provider does
-     * not extend another, this method call will return this provider.
-     * 
-     * @return the root library provider in the extension chain
-     */
-    
-    ILibraryProvider getRootProvider();
-    
-    /**
-     * Indicates whether this library provider is only meant to be used as a base for other
-     * providers and not to be used directly.
-     * 
-     * @return <code>true</code> if this library provider is only meant to be used as a base
-     *   for other providers
-     */
-    
-    boolean isAbstract();
-    
-    /**
-     * Indicates whether this library provider is meant to be hidden from the user. This
-     * typically means that it cannot be installed.
-     * 
-     * @return <code>true</code> if this library provider is meant to be hidden from the user
-     */
-    
-    boolean isHidden();
-    
-    /**
-     * Returns the priority number of this library provider. Each library provider can be assigned
-     * a priority number that is used when sorting applicable providers in order to present
-     * providers to the user. Higher priority numbers are sorted first. The provider with the
-     * highest priority in the set of applicable providers is one that is selected by default.
-     * 
-     * @return the priority number of this library provider
-     */
-    
-    int getPriority();
-    
-    /**
-     * Checks whether this provider is enabled for the given context.
-     * 
-     * @param fpjwc the faceted project (or working copy)
-     * @param fv the project facet that is making the request for libraries
-     * @return <code>true</code> if this provider is enabled for the given context
-     */
-    
-    boolean isEnabledFor( IFacetedProjectBase fproj, 
-                          IProjectFacetVersion fv );
-    
-    /**
-     * Checks whether this provider is enabled for the given context.
-     * 
-     * @param fpjwc the faceted project (or working copy)
-     * @param fv the project facet that is making the request for libraries
-     * @param customVariables custom variables to add to the enablement expressions
-     *   evaluation context
-     * @return <code>true</code> if this provider is enabled for the given context
-     */
-    
-    boolean isEnabledFor( IFacetedProjectBase fproj, 
-                          IProjectFacetVersion fv,
-                          Map<String,Object> customVariables );
-    
-    /**
-     * Determines whether this provider supports the specified action type.
-     * 
-     * @param type the action type to check
-     * @return <code>true</code> if this provider supports the specified action type
-     */
-    
-    boolean isActionSupported( LibraryProviderActionType type );
-    
-    /**
-     * Returns the parameters associated with this library provider at declaration time. The
-     * list of parameters and their meaning is specific to the implementation of this library
-     * provider.
-     * 
-     * @return the parameters associated with this library provider at declaration time.
-     */
-    
-    Map<String,String> getParams();
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/IPropertyChangeListener.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/IPropertyChangeListener.java
deleted file mode 100644
index 2c3f394..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/IPropertyChangeListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-/**
- * The common interface that's used throughout the Library Provider Framework to implement
- * listeners.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public interface IPropertyChangeListener
-{
-    /**
-     * Called when property is changed.
-     * 
-     * @param property the name of the property
-     * @param oldValue the old value
-     * @param newValue the new value
-     */
-    
-    void propertyChanged( String property,
-                          Object oldValue,
-                          Object newValue );
-}
-
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LegacyLibraryProviderDetector.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LegacyLibraryProviderDetector.java
deleted file mode 100644
index 097436d..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LegacyLibraryProviderDetector.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-
-/**
- * This class should be subclassed to provide detection of legacy library providers in the project.
- * It is used together with the org.eclipse.jst.common.project.facet.core.legacyLibraryProviderDetectors
- * extension point when migrating an existing facet to use the Library Provider Framework.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public abstract class LegacyLibraryProviderDetector
-{
-    /**
-     * Attempts to detect the presence of the legacy library provider in the project.
-     * 
-     * @param project the project in question
-     * @param facet the facet that is making the request for libraries
-     * @return the legacy library provider or <code>null</code> if not detected
-     */
-    
-    public abstract ILibraryProvider detect( final IProject project,
-                                             final IProjectFacet facet );
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryFacetInstallConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryFacetInstallConfig.java
deleted file mode 100644
index 8907da4..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryFacetInstallConfig.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.project.facet.core.ActionConfig;
-import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class LibraryFacetInstallConfig
-
-    extends ActionConfig
-    
-{
-    private LibraryInstallDelegate libraryInstallDelegate = null;
-
-    public final LibraryInstallDelegate getLibraryInstallDelegate()
-    {
-        return this.libraryInstallDelegate;
-    }
-    
-    @Override
-    public void setFacetedProjectWorkingCopy( final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super.setFacetedProjectWorkingCopy( fpjwc );
-        init();
-    }
-
-    @Override
-    public void setProjectFacetVersion( final IProjectFacetVersion fv )
-    {
-        super.setProjectFacetVersion( fv );
-        
-        final boolean initialized = init();
-        
-        if( this.libraryInstallDelegate != null && ! initialized )
-        {
-            this.libraryInstallDelegate.setProjectFacetVersion( fv );
-        }
-    }
-    
-    @Override
-    public IStatus validate() 
-    {
-        if( this.libraryInstallDelegate != null )
-        {
-            return this.libraryInstallDelegate.validate();
-        }
-        else
-        {
-            return Status.OK_STATUS;
-        }
-    }
-
-    private boolean init()
-    {
-        final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-        final IProjectFacetVersion fv = getProjectFacetVersion();
-        
-        if( this.libraryInstallDelegate == null && fpjwc != null && fv != null )
-        {
-            this.libraryInstallDelegate = new LibraryInstallDelegate( fpjwc, fv );
-            return true;
-        }
-        
-        return false;
-    }
-    
-    @Override
-	public void dispose() 
-    {
-    	if( this.libraryInstallDelegate != null )
-    	{
-    		this.libraryInstallDelegate.dispose();
-    	}
-	}
-
-	public static final class Factory
-        
-        implements IActionConfigFactory
-        
-    {
-        public Object create()
-        {
-            return new LibraryFacetInstallConfig();
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryFacetUninstallConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryFacetUninstallConfig.java
deleted file mode 100644
index c5fd698..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryFacetUninstallConfig.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.project.facet.core.ActionConfig;
-import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class LibraryFacetUninstallConfig
-
-    extends ActionConfig
-    
-{
-    private LibraryUninstallDelegate libraryUninstallDelegate = null;
-
-    public final LibraryUninstallDelegate getLibraryUninstallDelegate()
-    {
-        return this.libraryUninstallDelegate;
-    }
-    
-    @Override
-    public void setFacetedProjectWorkingCopy( final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super.setFacetedProjectWorkingCopy( fpjwc );
-        init();
-    }
-
-    @Override
-    public void setProjectFacetVersion( final IProjectFacetVersion fv )
-    {
-        super.setProjectFacetVersion( fv );
-        init();
-    }
-    
-    @Override
-    public IStatus validate() 
-    {
-        if( this.libraryUninstallDelegate != null )
-        {
-            return this.libraryUninstallDelegate.validate();
-        }
-        else
-        {
-            return Status.OK_STATUS;
-        }
-    }
-
-    private void init()
-    {
-        final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-        final IProjectFacetVersion fv = getProjectFacetVersion();
-        
-        if( fpjwc != null && fv != null )
-        {
-            this.libraryUninstallDelegate = new LibraryUninstallDelegate( fpjwc, fv );
-        }
-    }
-    
-    @Override
-    public void dispose()
-    {
-    	if( this.libraryUninstallDelegate != null )
-    	{
-    		this.libraryUninstallDelegate.dispose();
-    	}
-    }
-    
-    public static final class Factory
-    
-        implements IActionConfigFactory
-        
-    {
-        public Object create()
-        {
-            return new LibraryFacetUninstallConfig();
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryInstallDelegate.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryInstallDelegate.java
deleted file mode 100644
index 2e1a371..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryInstallDelegate.java
+++ /dev/null
@@ -1,643 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.createErrorStatus;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.submon;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-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.Status;
-import org.eclipse.jst.common.project.facet.core.libprov.internal.LibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.internal.LibraryProviderFrameworkImpl;
-import org.eclipse.jst.common.project.facet.core.libprov.internal.PropertiesHost;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.util.internal.CollectionsUtil;
-import org.eclipse.wst.common.project.facet.core.util.internal.MiscUtil;
-
-/**
- * Used for configuring and then installing a library via the Library Provider Framework.
- * Instance of this class would typically be embedded in facet action config objects and then
- * executed during the execution of those actions. Can also be used stand-alone when it is
- * necessary to change libraries outside facet lifecycle actions.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public final class LibraryInstallDelegate
-
-    extends PropertiesHost
-    
-{
-    private static final String CLASS_NAME = LibraryInstallDelegate.class.getName();
-    
-    /**
-     * The property corresponding to the list of available providers.
-     */
-    
-    public static final String PROP_AVAILABLE_PROVIDERS 
-        = CLASS_NAME + ".AVAILABLE_PROVIDERS"; //$NON-NLS-1$
-    
-    /**
-     * The property corresponding to the currently-selected provider.
-     */
-    
-    public static final String PROP_SELECTED_PROVIDER 
-        = CLASS_NAME + ".SELECTED_PROVIDER"; //$NON-NLS-1$
-    
-    private final IFacetedProjectBase fproj;
-    private IProjectFacetVersion fv;
-    private List<ILibraryProvider> providers;
-    private List<ILibraryProvider> providersReadOnly;
-    private ILibraryProvider selectedProvider;
-    private boolean isDefaultSelection;
-    private final Map<ILibraryProvider,LibraryProviderOperationConfig> configs;
-    private final IPropertyChangeListener providerConfigListener;
-    private LibraryUninstallDelegate uninstallDelegate = null;
-    private Map<String,Object> customEnablementContextVariables;
-    private final IFacetedProjectListener facetedProjectListener;
-    
-    /**
-     * Constructs a new library install delegate. 
-     * 
-     * @param fproj the faceted project (or a working copy)
-     * @param fv the project facet that is requesting libraries
-     * @param customEnablementContextVariables custom variables to add to the expression
-     *   evaluation context for enablement expressions or <code>null</code> for none
-     * @see #setEnablementContextVariable(String, Object)  
-     */
-    
-    public LibraryInstallDelegate( final IFacetedProjectBase fproj,
-                                   final IProjectFacetVersion fv,
-                                   final Map<String,Object> customEnablementContextVariables )
-    {
-        this.fproj = fproj;
-        this.fv = fv;
-        this.providers = Collections.emptyList();
-        this.providersReadOnly = Collections.emptyList();
-        this.selectedProvider = null;
-        this.isDefaultSelection = true;
-        this.configs = new HashMap<ILibraryProvider,LibraryProviderOperationConfig>();
-        this.customEnablementContextVariables = new HashMap<String,Object>();
-        
-        if( customEnablementContextVariables != null )
-        {
-            this.customEnablementContextVariables.putAll( customEnablementContextVariables );
-        }
-        
-        this.providerConfigListener = new IPropertyChangeListener()
-        {
-            public void propertyChanged( final String property,
-                                         final Object oldValue,
-                                         final Object newValue )
-            {
-                notifyListeners( property, oldValue, newValue );
-            }
-        };
-
-        this.facetedProjectListener = new IFacetedProjectListener()
-        {
-            public void handleEvent( final IFacetedProjectEvent event )
-            {
-                refresh();
-            }
-        };
-
-        getFacetedProject().addListener( this.facetedProjectListener, IFacetedProjectEvent.Type.PROJECT_MODIFIED );
-        
-        reset();
-    }
-    
-    /**
-     * Constructs a new library install delegate. 
-     * 
-     * @param fproj the faceted project (or a working copy)
-     * @param fv the project facet that is requesting libraries
-     */
-    
-    public LibraryInstallDelegate( final IFacetedProjectBase fproj,
-                                   final IProjectFacetVersion fv )
-    {
-        this( fproj, fv, null );
-    }
-    
-    /**
-     * Returns the faceted project that this install delegate was configured to use. Can be a working
-     * copy.
-     * 
-     * @return the faceted project that this install delegate was configured to use
-     */
-    
-    public IFacetedProjectBase getFacetedProject()
-    {
-        return this.fproj;
-    }
-    
-    /**
-     * Returns the project facet that made the request for libraries.
-     * 
-     * @return the project facet that made the request for libraries
-     */
-    
-    public synchronized IProjectFacet getProjectFacet()
-    {
-        return this.fv.getProjectFacet();
-    }
-    
-    /**
-     * Returns the project facet version that made the request for libraries.
-     * 
-     * @return the project facet version that made the request for libraries
-     */
-    
-    public synchronized IProjectFacetVersion getProjectFacetVersion()
-    {
-        return this.fv;
-    }
-    
-    /**
-     * Changes the project facet version of the requesting facet after the library install
-     * delegate has been created.
-     * 
-     * @param fv the project facet version
-     */
-    
-    public synchronized void setProjectFacetVersion( final IProjectFacetVersion fv )
-    {
-        this.fv = fv;
-        refresh();
-    }
-    
-    /**
-     * Returns the list of library providers that are currently available. The list is sorted
-     * by library provider priority (highest priority first). To listen for changes to this
-     * list use PROP_AVAILABLE_PROVIDERS.
-     * 
-     * @return the list of library providers that are currently available
-     */
-    
-    public synchronized List<ILibraryProvider> getLibraryProviders()
-    {
-        return this.providersReadOnly;
-    }
-    
-    /**
-     * Returns the library provider that is currently selected. To list for changes to this
-     * property use PROP_SELECTED_PROVIDER.
-     * 
-     * @return the library provider that is currently selected
-     */
-    
-    public synchronized ILibraryProvider getLibraryProvider()
-    {
-        return this.selectedProvider;
-    }
-    
-    /**
-     * Sets the current library provider. 
-     * 
-     * @param provider the provider that should be selected
-     */
-    
-    public synchronized void setLibraryProvider( final ILibraryProvider provider )
-    {
-        setLibraryProvider( provider, false, true );
-    }
-
-    private synchronized void setLibraryProvider( final ILibraryProvider provider,
-                                                  final boolean isDefaultSelection,
-                                                  final boolean notifyListeners )
-    {
-        if( ! this.providers.contains( provider ) &&
-            ! ( this.providers.size() == 0 && provider == null ) )
-        {
-            throw new IllegalArgumentException();
-        }
-        
-        if( ! MiscUtil.equal( this.selectedProvider, provider ) )
-        {
-            final ILibraryProvider oldSelectedProvider = this.selectedProvider;
-            
-            this.selectedProvider = provider;
-            this.isDefaultSelection = isDefaultSelection;
-            
-            final LibraryProviderOperationConfig config = this.configs.get( this.selectedProvider );
-            
-            if( config != null )
-            {
-                config.reset();
-            }
-            
-            if( notifyListeners )
-            {
-                notifyListeners( PROP_SELECTED_PROVIDER, oldSelectedProvider, this.selectedProvider );
-            }
-        }
-    }
-    
-    /**
-     * Returns the install operation config of the currently-selected provider. This property's
-     * lifecycle is bound to the current provider changes, so listen for changes using 
-     * PROP_SELECTED_PROVIDER.
-     * 
-     * @return the install operation config of the currently-selected provider
-     */
-    
-    public synchronized LibraryProviderOperationConfig getLibraryProviderOperationConfig()
-    {
-        if( this.selectedProvider == null )
-        {
-            return null;
-        }
-        else
-        {
-            return this.configs.get( this.selectedProvider );
-        }
-    }
-    
-    /**
-     * Returns the install operation config for any of the available library providers.
-     * 
-     * @param provider the library provider to look up install operation config
-     * @return the install operation config for any of the available library providers
-     */
-    
-    public synchronized LibraryProviderOperationConfig getLibraryProviderOperationConfig( final ILibraryProvider provider )
-    {
-        if( ! this.providers.contains( provider ) )
-        {
-            throw new IllegalArgumentException();
-        }
-        
-        return this.configs.get( provider );
-    }
-    
-    /**
-     * Adds a custom variable to the expression evaluation context for enablement expressions
-     * controlling activation of library providers. Setting the variable to <code>null</code>
-     * has the effect of removing it. Calling this method will trigger a refresh of available 
-     * library providers.
-     *  
-     * @param name the name of the variable
-     * @param value the value of the variable
-     */
-    
-    public synchronized void setEnablementContextVariable( final String name,
-                                                           final Object value )
-    {
-        if( value == null )
-        {
-            this.customEnablementContextVariables.remove( name );
-        }
-        else
-        {
-            this.customEnablementContextVariables.put( name, value );
-        }
-        
-        refresh();
-    }
-    
-    /**
-     * Refreshes the list of available library providers and resets the current library provider
-     * if the one currently selected is not in the available list any longer.
-     */
-    
-    public synchronized void refresh()
-    {
-        final IProjectFacet f = getProjectFacet();
-        final IProjectFacetVersion fv = getProjectFacetVersion();
-        final IFacetedProjectBase fproj = getFacetedProject();
-        
-        final List<ILibraryProvider> oldProviders = this.providers;
-        
-        for( ILibraryProvider provider : oldProviders )
-        {
-            final LibraryProviderOperationConfig config = this.configs.remove( provider );
-            
-            if( config != null )
-            {
-                config.removeListener( this.providerConfigListener );
-                config.dispose();
-            }
-        }
-        
-        final List<ILibraryProvider> newProviders = new ArrayList<ILibraryProvider>();
-    
-        for( ILibraryProvider provider : LibraryProviderFramework.getProviders() )
-        {
-            if( ! provider.isAbstract() && ! provider.isHidden() 
-                && provider.isEnabledFor( fproj, fv, this.customEnablementContextVariables ) )
-            {
-                newProviders.add( provider );
-            }
-        }
-        
-        final Comparator<ILibraryProvider> comp = CollectionsUtil.getInvertingComparator();
-        Collections.sort( newProviders, comp );
-        
-        final IFacetedProject base;
-        
-        if( fproj instanceof IFacetedProject )
-        {
-            base = (IFacetedProject) fproj;
-        }
-        else
-        {
-            base = ( (IFacetedProjectWorkingCopy) fproj ).getFacetedProject();
-        }
-        
-        if( base != null && base.hasProjectFacet( f ) )
-        {
-            // This code is here to take care of cases where framework injects a provider
-            // that is not typically available for unknown and legacy usecases.
-            
-            final ILibraryProvider provider 
-                = LibraryProviderFramework.getCurrentProvider( base.getProject(), f );
-            
-            if( provider == null )
-            {
-                throw new RuntimeException();
-            }
-            
-            if( ! newProviders.contains( provider ) )
-            {
-                newProviders.add( provider );
-            }
-        }
-        
-        this.providers = newProviders;
-        this.providersReadOnly = Collections.unmodifiableList( this.providers );
-        
-        for( ILibraryProvider provider : this.providers )
-        {
-            final LibraryProvider prov = (LibraryProvider) provider;
-            final LibraryProviderOperationConfig config = prov.createInstallOperationConfig( this );
-            config.addListener( this.providerConfigListener );
-            this.configs.put( provider, config );
-        }
-        
-        final ILibraryProvider oldSelectedProvider = this.selectedProvider;
-        
-        if( this.providers.size() > 0 )
-        {
-            if( this.selectedProvider == null || this.isDefaultSelection || 
-                ! this.providers.contains( this.selectedProvider ) )
-            {
-                ILibraryProvider provider = LibraryProviderFrameworkImpl.get().getLastProviderUsed( fv );
-                
-                if( provider == null || ! this.providers.contains( provider ) )
-                {
-                    provider = this.providers.iterator().next();
-                }
-                    
-                setLibraryProvider( provider, true, false );
-            }
-        }
-        else
-        {
-            setLibraryProvider( null, true, false );
-        }
-        
-        notifyListeners( PROP_AVAILABLE_PROVIDERS, oldProviders, this.providersReadOnly );
-
-        if( ! MiscUtil.equal( oldSelectedProvider, this.selectedProvider ) )
-        {
-            notifyListeners( PROP_SELECTED_PROVIDER, oldSelectedProvider, this.selectedProvider );
-        }
-    }
-
-    /**
-     * Resets this install delegate to its initial state (prior to any user changes).
-     */
-
-    public synchronized void reset()
-    {
-        refresh();
-        
-        final IProjectFacet facet = this.fv.getProjectFacet();
-        final IFacetedProject fpj;
-        
-        if( this.fproj instanceof IFacetedProject )
-        {
-            fpj = (IFacetedProject) this.fproj;
-        }
-        else
-        {
-            fpj = ( (IFacetedProjectWorkingCopy) this.fproj ).getFacetedProject();
-        }
-        
-        ILibraryProvider provider = null;
-        
-        if( this.uninstallDelegate != null )
-        {
-        	this.uninstallDelegate.dispose();
-        	this.uninstallDelegate = null;
-        }
-        
-        if( fpj != null && fpj.hasProjectFacet( facet ) )
-        {
-            this.uninstallDelegate = new LibraryUninstallDelegate( fpj, this.fv );
-            
-            provider = LibraryProviderFramework.getCurrentProvider( fpj.getProject(), facet );
-            
-            if( provider == null )
-            {
-                throw new RuntimeException();
-            }
-        }
-        else
-        {
-            provider = LibraryProviderFrameworkImpl.get().getLastProviderUsed( this.fv );
-        
-            if( provider == null || ! this.providers.contains( provider ) )
-            {
-                if( ! this.providers.isEmpty() )
-                {
-                    provider = this.providers.iterator().next();
-                }
-                else
-                {
-                    provider = null;
-                }
-            }
-        }
-        
-        setLibraryProvider( provider );
-        
-        for( LibraryProviderOperationConfig config : this.configs.values() )
-        {
-            config.reset();
-        }
-    }
-
-    /**
-     * Checks the validity of the library install configuration. 
-     * 
-     * @return a status object describing configuration problems, if any
-     */
-    
-    public synchronized IStatus validate()
-    {
-        IStatus st = Status.OK_STATUS;
-        
-        if( this.providers.size() == 0 )
-        {
-            st = createErrorStatus( Resources.noProvidersAvailable );
-        }
-        else
-        {
-            final Object providerInstallOpConfig = this.configs.get( this.selectedProvider );
-            
-            if( providerInstallOpConfig instanceof LibraryProviderOperationConfig )
-            {
-                st = ( (LibraryProviderOperationConfig) providerInstallOpConfig ).validate();
-            }
-        }
-        
-        return st;
-    }
-    
-    /**
-     * Executes the library install operation.
-     * 
-     * @param monitor the progress monitor for reporting status and handling cancellation requests
-     * @throws CoreException if failed for some reason while executing the install operation
-     */
-    
-    public synchronized void execute( final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        beginTask( monitor, "", 10 ); //$NON-NLS-1$
-        
-        try
-        {
-            final IFacetedProjectBase fproj = getFacetedProject();
-            final IProjectFacetVersion fv = getProjectFacetVersion();
-            final LibraryProvider provider = (LibraryProvider) getLibraryProvider();
-            
-            // Turn this into a no-op if the selected library provider is either the legacy
-            // library provider or the unknown library provider. Those represent special corner
-            // cases and the standard uninstall/install does not work. This comes up in the property
-            // page case where the user hits ok without picking a different provider. Would be nice 
-            // if we could somehow turn this check into a more general "did user change" anything 
-            // check.
-            
-            final String rootLibraryProviderId = this.selectedProvider.getRootProvider().getId();
-            
-            if( rootLibraryProviderId.equals( "unknown-library-provider" ) || //$NON-NLS-1$
-                rootLibraryProviderId.equals( "legacy-library-provider" ) ) //$NON-NLS-1$
-            {
-                return;
-            }
-            
-            // Uninstall the previous library, if applicable.
-            
-            if( this.uninstallDelegate != null )
-            {
-                this.uninstallDelegate.execute( new NullProgressMonitor() );
-            }
-            
-            // Install the library.
-            
-            final LibraryProviderOperation libraryInstallOp 
-                = provider.createOperation( LibraryProviderActionType.INSTALL );
-            
-            final LibraryProviderOperationConfig libraryInstallOpConfig 
-                = getLibraryProviderOperationConfig();
-            
-            libraryInstallOp.execute( libraryInstallOpConfig, submon( monitor, 8 ) );
-            
-            // Record which library provider was used for this facet in workspace prefs. This 
-            // will be used to default the provider selection the next time this facet is installed.
-            
-            LibraryProviderFrameworkImpl.get().setLastProviderUsed( fv, provider );
-            worked( monitor, 1 );
-            
-            // Record which library provider was used for this facet in project metadata. This
-            // will be used to know which provider to use when the facet is being uninstalled or
-            // the version is being changed.
-            
-            LibraryProviderFrameworkImpl.get().setCurrentProvider( fproj.getProject(), fv.getProjectFacet(), provider );
-            
-            worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-    
-    /**
-     * Cleans up allocated resources. Client code that instantiates this class is responsible that the
-     * instance is properly disposed by calling the dispose method.
-     */
-    
-    public synchronized void dispose()
-    {
-    	if( this.uninstallDelegate != null )
-    	{
-    		this.uninstallDelegate.dispose();
-    	}
-    	
-        getFacetedProject().removeListener( this.facetedProjectListener );
-        
-        for( LibraryProviderOperationConfig cfg : this.configs.values() )
-        {
-            try
-            {
-                cfg.dispose();
-            }
-            catch( Exception e )
-            {
-                log( e );
-            }
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String noProvidersAvailable;
-        
-        static
-        {
-            initializeMessages( LibraryInstallDelegate.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryInstallDelegate.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryInstallDelegate.properties
deleted file mode 100644
index 107a283..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryInstallDelegate.properties
+++ /dev/null
@@ -1 +0,0 @@
-noProvidersAvailable = No library providers are available for this facet. The facet cannot be installed.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderActionType.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderActionType.java
deleted file mode 100644
index 9a2a68f..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderActionType.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-/**
- * Enumeration of library provider action types.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public enum LibraryProviderActionType
-{
-    /**
-     * Represents the action of configuring the library in a project.
-     */
-    
-    INSTALL,
-    
-    /**
-     * Represents removing the library from a project.
-     */
-    
-    UNINSTALL
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderFramework.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderFramework.java
deleted file mode 100644
index 48f7ce2..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderFramework.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.common.project.facet.core.libprov.internal.LibraryProviderFrameworkImpl;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-
-/**
- * The root entry point for working with the Library Provider Framework.
- * 
- * @noinstantiate This class is not intended to be instantiated by clients.
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public final class LibraryProviderFramework
-{
-    private LibraryProviderFramework() {}
-    
-    /**
-     * Returns all of the library providers declared in the system.
-     * 
-     * @return all of the library providers declared in the system
-     */
-    
-    public static Set<ILibraryProvider> getProviders()
-    {
-        return get().getProviders();
-    }
-    
-    /**
-     * Determines if a library provider with the specified id exists.
-     * 
-     * @param id the id of the library provider to use in lookup
-     * @return <code>true</code> if and only if a library provider with the specified
-     *   id exists
-     */
-    
-    public static boolean isProviderDefined( final String id )
-    {
-        return get().isProviderDefined( id );
-    }
-    
-    /**
-     * Returns the library provider corresponding to the specified id.
-     * 
-     * @param id the id of the library provider to use in lookup
-     * @return the library provider corresponding to the specified id
-     * @throws IllegalArgumentException if the specified provider id is not recognized
-     */
-    
-    public static ILibraryProvider getProvider( final String id )
-    {
-        return get().getProvider( id );
-    }
-    
-    /**
-     * Returns the library provider that is currently configured with the specified facet. Will
-     * return <code>null</code> if the facet is not installed in the specified project.
-     * 
-     * @param project the project in question
-     * @param facet the facet in question
-     * @return the library provider currently used by the facet in the specified project
-     */
-    
-    public static ILibraryProvider getCurrentProvider( final IProject project,
-                                                       final IProjectFacet facet )
-    {
-        return get().getCurrentProvider( project, facet );
-    }
-    
-    private static LibraryProviderFrameworkImpl get()
-    {
-        return LibraryProviderFrameworkImpl.get();
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderInstallOperationConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderInstallOperationConfig.java
deleted file mode 100644
index 7957838..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderInstallOperationConfig.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-
-/**
- * This class should be subclassed in order to implement parameterization of the library
- * provider install operations. If no additional parameters are necessary, this class can also be 
- * used directly.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class LibraryProviderInstallOperationConfig
-
-    extends LibraryProviderOperationConfig
-    
-{
-    private LibraryInstallDelegate libraryInstallDelegate;
-    
-    /**
-     * Initializes the operation config. This method is called soon after the provider
-     * is instantiated. Extenders can override in order to add to the initialization, but
-     * have make sure to forward the init call up the inheritance chain.
-     * 
-     * @param libraryInstallDelegate the library install delegate that created this config object
-     * @param provider the library provider (useful if the same operation config class
-     *   is re-used between multiple providers)
-     */
-    
-    public void init( final LibraryInstallDelegate libraryInstallDelegate,
-                      final ILibraryProvider provider )
-    {
-        this.libraryInstallDelegate = libraryInstallDelegate;
-        
-        init( this.libraryInstallDelegate.getFacetedProject(),
-              this.libraryInstallDelegate.getProjectFacetVersion(),
-              provider );
-    }
-
-    /**
-     * Returns the library install delegate that created this install operation config and is
-     * controlling it's lifecycle.
-     * 
-     * @return the library install delegate that is controlling this operation config object
-     */
-    
-    public final LibraryInstallDelegate getLibraryInstallDelegate()
-    {
-        return this.libraryInstallDelegate;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderOperation.java
deleted file mode 100644
index ccce47b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderOperation.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * This class should be subclassed in order to provider the logic that should execute
- * when a library provider action (such as install and uninstall) is triggered.
- *
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public abstract class LibraryProviderOperation
-{
-    /**
-     * Runs the library provider operation.
-     * 
-     * @param config the library provider operation config; will never be null
-     * @param monitor the progress monitor for status reporting and cancellation
-     * @throws CoreException if failed while executing the operation
-     */
-    
-    public abstract void execute( final LibraryProviderOperationConfig config,
-                                  final IProgressMonitor monitor )
-    
-        throws CoreException;
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderOperationConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderOperationConfig.java
deleted file mode 100644
index fe0f82c..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryProviderOperationConfig.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.common.project.facet.core.libprov.internal.PropertiesHost;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * This class should be subclassed in order to implement parameterization of the library
- * provider operations (such as install and uninstall). If no additional parameters are
- * necessary, this class can also be used directly.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class LibraryProviderOperationConfig
-
-    extends PropertiesHost
-    
-{
-    private IFacetedProjectBase fpj;
-    private IProjectFacetVersion fv;
-    private ILibraryProvider provider;
-    
-    /**
-     * Initializes the operation config. This method is called soon after the provider
-     * is instantiated. Extenders can override in order to add to the initialization, but
-     * have make sure to forward the init call up the inheritance chain.
-     * 
-     * @param fpj the faceted project (or a working copy)
-     * @param fv the project facet that is making the request for libraries
-     * @param provider the library provider (useful if the same operation config class
-     *   is re-used between multiple providers)
-     */
-    
-    public void init( final IFacetedProjectBase fpj,
-                      final IProjectFacetVersion fv,
-                      final ILibraryProvider provider )
-    {
-        this.fpj = fpj;
-        this.fv = fv;
-        this.provider = provider;
-    }
-    
-    /**
-     * Returns the faceted project (or a working copy).
-     * 
-     * @return the faceted project (or a working copy)
-     */
-    
-    public final IFacetedProjectBase getFacetedProject()
-    {
-        return this.fpj;
-    }
-    
-    /**
-     * Returns the project facet that made the request for libraries.
-     * 
-     * @return the project facet that made the request for libraries
-     */
-    
-    public final IProjectFacet getProjectFacet()
-    {
-        return this.fv.getProjectFacet();
-    }
-    
-    /**
-     * Returns the project facet version that made the request for libraries.
-     * 
-     * @return the project facet version that made the request for libraries
-     */
-    
-    public final IProjectFacetVersion getProjectFacetVersion()
-    {
-        return this.fv;
-    }
-    
-    /**
-     * Returns the library provider. This is particularly useful in cases where the same
-     * operation config class is re-used across multiple library providers.
-     * 
-     * @return the library provider
-     */
-    
-    public final ILibraryProvider getLibraryProvider()
-    {
-        return this.provider;
-    }
-    
-    /**
-     * Adds a listener that will be notified when the property changes. If no properties
-     * are specified, the listener will be notified when any of the properties change. The 
-     * extender is responsible for defining available properties (typically via constants 
-     * in the config class) and for calling the notifyListeners method when a property changes.
-     * 
-     * @param listener the listener that should be registered
-     * @param properties the list of properties to listen to or an empty list to list to
-     *   all properties
-     */
-
-    @Override
-    public final void addListener( final IPropertyChangeListener listener,
-                                   final String... properties )
-    {
-        super.addListener( listener, properties );
-    }
-    
-    /**
-     * Removes the specified listener from the notification queue. Does nothing if the listener
-     * is not registered.
-     * 
-     * @param listener the listener that should be removed
-     */
-    
-    @Override
-    public final void removeListener( final IPropertyChangeListener listener )
-    {
-        super.removeListener( listener );
-    }
-    
-    /**
-     * Notifies registered listeners that a property has changed. The extender is responsible 
-     * for defining available properties (typically via constants in the config class) and for 
-     * calling this method when a property changes.
-     * 
-     * @param property the property that has changed
-     * @param oldValue the old value
-     * @param newValue the new value
-     */
-    
-    @Override
-    public final void notifyListeners( final String property,
-                                       final Object oldValue,
-                                       final Object newValue )
-    {
-        super.notifyListeners( property, oldValue, newValue );
-    }
-    
-    /**
-     * Validates the state of this operation config object and returns a status object
-     * describing any problems. If no problems are detected, this should return OK
-     * status (which is what the default implementation does).
-     * 
-     * @return the result of validating this operation config
-     */
-    
-    public IStatus validate()
-    {
-        return Status.OK_STATUS;
-    }
-    
-    /**
-     * Resets this operation config to its initial state (prior to any user changes). The
-     * default implementation does not do anything.
-     */
-
-    public void reset() {}
-
-    /**
-     * Allows the operation config implementation to dispose of any resources acquired during
-     * the life of this object. This is a good place to remove any external listeners that
-     * are registered. The default implementation does not do anything.
-     */
-    
-    public void dispose() {}
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryUninstallDelegate.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryUninstallDelegate.java
deleted file mode 100644
index d5a7bce..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/LibraryUninstallDelegate.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.submon;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-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.common.project.facet.core.libprov.internal.LibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.internal.LibraryProviderFrameworkImpl;
-import org.eclipse.jst.common.project.facet.core.libprov.internal.PropertiesHost;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * Used for removing a library installed via the Library Provider Framework.
- * Instance of this class would typically be embedded in facet uninstall action config objects 
- * and then executed during the execution of those actions. 
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public final class LibraryUninstallDelegate
-
-    extends PropertiesHost
-    
-{
-    private final IFacetedProjectBase fproj;
-    private IProjectFacetVersion fv;
-    private ILibraryProvider oldProvider = null;
-    private LibraryProviderOperationConfig oldProviderUninstallOpConfig = null;
-    
-    /**
-     * Constructs a new library uninstall delegate. 
-     * 
-     * @param fproj the faceted project (or a working copy)
-     * @param fv the project facet that installed the libraries
-     */
-    
-    public LibraryUninstallDelegate( final IFacetedProjectBase fproj,
-                                     final IProjectFacetVersion fv )
-    {
-        this.fproj = fproj;
-        this.fv = fv;
-        
-        this.oldProvider = LibraryProviderFramework.getCurrentProvider( fproj.getProject(), fv.getProjectFacet() );
-        
-        if( this.oldProvider == null )
-        {
-            this.oldProviderUninstallOpConfig = null;
-        }
-        else
-        {
-            final LibraryProvider prov = (LibraryProvider) this.oldProvider;
-            
-            this.oldProviderUninstallOpConfig 
-                = prov.createOperationConfig( fproj, fv, LibraryProviderActionType.UNINSTALL );
-        
-            this.oldProviderUninstallOpConfig.addListener
-            (
-                new IPropertyChangeListener()
-                {
-                    public void propertyChanged( final String property,
-                                                 final Object oldValue,
-                                                 final Object newValue )
-                    {
-                        notifyListeners( property, oldValue, newValue );
-                    }
-                }
-            );
-        }
-    }
-    
-    /**
-     * Returns the faceted project that this uninstall delegate was configured to use. Can be a working
-     * copy.
-     * 
-     * @return the faceted project that this uninstall delegate was configured to use
-     */
-    
-    public IFacetedProjectBase getFacetedProject()
-    {
-        return this.fproj;
-    }
-    
-    /**
-     * Returns the project facet that installed the libraries.
-     * 
-     * @return the project facet that installed the libraries
-     */
-    
-    public IProjectFacet getProjectFacet()
-    {
-        return this.fv.getProjectFacet();
-    }
-    
-    /**
-     * Returns the project facet version that installed the libraries.
-     * 
-     * @return the project facet version that installed the libraries
-     */
-
-    public IProjectFacetVersion getProjectFacetVersion()
-    {
-        return this.fv;
-    }
-    
-    /**
-     * Returns the library provider that the system determine is currently installed for
-     * the specified facet.
-     * 
-     * @return the library provider that is currently installed
-     */
-    
-    public ILibraryProvider getLibraryProvider()
-    {
-        return this.oldProvider;
-    }
-    
-    /**
-     * Returns the uninstall operation config for the currently installed library.
-     * 
-     * @return the uninstall operation config for the currently installed library
-     */
-    
-    public LibraryProviderOperationConfig getUninstallOperationConfig()
-    {
-        return this.oldProviderUninstallOpConfig;
-    }
-    
-    /**
-     * Checks the validity of the library uninstall configuration. 
-     * 
-     * @return a status object describing configuration problems, if any
-     */
-    
-    public IStatus validate()
-    {
-        IStatus st = Status.OK_STATUS;
-        
-        st = this.oldProviderUninstallOpConfig.validate();
-        
-        return st;
-    }
-    
-    /**
-     * Executes the library uninstall operation.
-     * 
-     * @param monitor the progress monitor for reporting status and handling cancellation requests
-     * @throws CoreException if failed for some reason while executing the uninstall operation
-     */
-    
-    public void execute( final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        beginTask( monitor, "", 10 ); //$NON-NLS-1$
-        
-        try
-        {
-            final IFacetedProjectBase fproj = getFacetedProject();
-            final IProjectFacetVersion fv = getProjectFacetVersion();
-            final LibraryProvider provider = (LibraryProvider) getLibraryProvider();
-            
-            // Uninstall the library.
-            
-            final LibraryProviderOperation libraryUninstallOp = provider.createOperation( LibraryProviderActionType.UNINSTALL );
-            
-            final LibraryProviderOperationConfig libraryUninstallOpConfig 
-                = getUninstallOperationConfig();
-            
-            libraryUninstallOp.execute( libraryUninstallOpConfig, submon( monitor, 9 ) );
-            
-            // Remove information about which library provider was used during the install.
-            
-            LibraryProviderFrameworkImpl.get().setCurrentProvider( fproj.getProject(), fv.getProjectFacet(), null );
-            
-            worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-
-    /**
-     * Cleans up allocated resources. Client code that instantiates this class is responsible that the
-     * instance is properly disposed by calling the dispose method.
-     */
-    
-    public void dispose()
-    {
-        try
-        {
-            this.oldProviderUninstallOpConfig.dispose();
-        }
-        catch( Exception e )
-        {
-            log( e );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/NoOpLibraryProviderInstallOperationConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/NoOpLibraryProviderInstallOperationConfig.java
deleted file mode 100644
index 85be9fd..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/NoOpLibraryProviderInstallOperationConfig.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.PLUGIN_ID;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * The install operation config corresponding to the no-op-library-provider that allows library
- * configuration to be disabled by user. This class can be subclassed by those wishing to extend 
- * the base implementation supplied by the framework.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class NoOpLibraryProviderInstallOperationConfig
-
-    extends LibraryProviderOperationConfig
-    
-{
-    public static final String PARAM_WARNING = "warning";  //$NON-NLS-1$
-    
-    private String warning = null;
-    
-    /**
-     * Constructs the no-op library provider install operation config.
-     */
-    
-    public NoOpLibraryProviderInstallOperationConfig()
-    {
-        this.warning = null;
-    }
-
-    /**
-     * Initializes the operation config. This method is called soon after the provider
-     * is instantiated. Extenders can override in order to add to the initialization, but
-     * have make sure to forward the init call up the inheritance chain.
-     * 
-     * @param fpj the faceted project (or a working copy)
-     * @param fv the project facet that is making the request for libraries
-     * @param provider the library provider (useful if the same operation config class
-     *   is re-used between multiple providers)
-     */
-    
-    @Override
-    public synchronized void init( final IFacetedProjectBase fproj,
-                                   final IProjectFacetVersion fv,
-                                   final ILibraryProvider provider )
-    {
-        super.init( fproj, fv, provider );
-        
-        this.warning = provider.getParams().get( PARAM_WARNING );
-    }
-    
-    /**
-     * Validates the state of this operation config object and returns a status object
-     * describing any problems. If no problems are detected, this should return OK
-     * status.
-     * 
-     * @return the result of validating this operation config
-     */
-    
-    @Override
-    public synchronized IStatus validate()
-    {
-        IStatus st = Status.OK_STATUS;
-        
-        if( this.warning != null )
-        {
-            st = new Status( IStatus.WARNING, PLUGIN_ID, this.warning );
-        }
-        
-        return st;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/NoOpLibraryProviderOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/NoOpLibraryProviderOperation.java
deleted file mode 100644
index 6d2b741..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/NoOpLibraryProviderOperation.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-
-/**
- * This operation implementation can be used in situations when an install or an uninstall 
- * operation doesn't actually have do do anything.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public final class NoOpLibraryProviderOperation
-
-    extends LibraryProviderOperation
-    
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        // The operation is a no-op.
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyLibraryProviderDetectorsExtensionPoint.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyLibraryProviderDetectorsExtensionPoint.java
deleted file mode 100644
index c5f9da0..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyLibraryProviderDetectorsExtensionPoint.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.PLUGIN_ID;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findExtensions;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findRequiredAttribute;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.getTopLevelElements;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.instantiate;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.loadClass;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LegacyLibraryProviderDetector;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.InvalidExtensionException;
-
-/**
- * Contains the logic for processing the <code>legacyLibraryProviderDetectors</code> extension point. 
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LegacyLibraryProviderDetectorsExtensionPoint
-{
-    public static final String EXTENSION_POINT_ID = "legacyLibraryProviderDetectors"; //$NON-NLS-1$
-    
-    private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-    private static final String EL_DETECTOR = "detector"; //$NON-NLS-1$
-
-    private static List<DetectorExtension> extensions = null;
-    
-    public static synchronized ILibraryProvider detect( final IProject project,
-                                                        final IProjectFacet facet )
-    {
-        readExtensions();
-        
-        for( Iterator<DetectorExtension> itr = extensions.iterator(); itr.hasNext(); )
-        {
-            final DetectorExtension extension = itr.next();
-            final LegacyLibraryProviderDetector detector;
-            
-            try
-            {
-                detector = extension.createDetector();
-            }
-            catch( InvalidExtensionException e )
-            {
-                // Problem already reported to the user in the log. Removing the extension from
-                // the list so that we don't keep tripping over it in the future.
-                
-                itr.remove();
-                continue;
-            }
-            
-            try
-            {
-                final ILibraryProvider provider = detector.detect( project, facet );
-                
-                if( provider != null )
-                {
-                    return provider;
-                }
-            }
-            catch( Exception e )
-            {
-                log( e );
-            }
-        }
-        
-        return null;
-    }
-    
-    private static synchronized void readExtensions()
-    {
-        if( extensions != null )
-        {
-            return;
-        }
-        
-        extensions = new ArrayList<DetectorExtension>();        
-        
-        for( IConfigurationElement element 
-             : getTopLevelElements( findExtensions( PLUGIN_ID, EXTENSION_POINT_ID ) ) )
-        {
-            if( element.getName().equals( EL_DETECTOR ) )
-            {
-                try
-                {
-                    final String pluginId = element.getContributor().getName();
-                    final String className = findRequiredAttribute( element, ATTR_CLASS );
-                    extensions.add( new DetectorExtension( pluginId, className ) );
-                }
-                catch( InvalidExtensionException e )
-                {
-                    // Continue. The problem has been reported to the user via the log.
-                }
-            }
-        }
-    }
-
-    private static final class DetectorExtension
-    {
-        private final String pluginId;
-        private final String className;
-        private WeakReference<Class<? extends LegacyLibraryProviderDetector>> classWeakReference;
-        
-        public DetectorExtension( final String pluginId,
-                                  final String className )
-        {
-            this.pluginId = pluginId;
-            this.className = className;
-        }
-        
-        public synchronized LegacyLibraryProviderDetector createDetector()
-        
-            throws InvalidExtensionException
-            
-        {
-            Class<? extends LegacyLibraryProviderDetector> detectorClass 
-                = this.classWeakReference == null ? null : this.classWeakReference.get();
-            
-            if( detectorClass == null )
-            {
-                detectorClass = loadClass( this.pluginId, this.className, LegacyLibraryProviderDetector.class );
-                
-                if( detectorClass == null )
-                {
-                    throw new InvalidExtensionException();
-                }
-                
-                this.classWeakReference = new WeakReference<Class<? extends LegacyLibraryProviderDetector>>( detectorClass );
-            }
-            
-            final LegacyLibraryProviderDetector detector = instantiate( this.pluginId, detectorClass );
-            
-            if( detector == null )
-            {
-                throw new InvalidExtensionException();
-            }
-            
-            return detector;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyLibraryProviderInstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyLibraryProviderInstallOperation.java
deleted file mode 100644
index 0fe98de..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyLibraryProviderInstallOperation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LegacyLibraryProviderInstallOperation
-
-    extends LibraryProviderOperation
-    
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        // This is never expected to be called...
-        throw new IllegalStateException();
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyRuntimeLibraryProviderDetector.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyRuntimeLibraryProviderDetector.java
deleted file mode 100644
index c8f612b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyRuntimeLibraryProviderDetector.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.common.project.facet.core.internal.ClasspathUtil;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LegacyLibraryProviderDetector;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderFramework;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LegacyRuntimeLibraryProviderDetector
-
-    extends LegacyLibraryProviderDetector
-    
-{
-    private static final String LEGACY_RUNTIME_LIBRARY_PROVIDER_ID 
-        = "legacy-runtime-library-provider"; //$NON-NLS-1$
-    
-    @Override
-    public ILibraryProvider detect( final IProject project,
-                                    final IProjectFacet facet )
-    {
-        try
-        {
-            if( ClasspathUtil.getClasspathEntries( project, facet ).size() > 0 )
-            {
-                return LibraryProviderFramework.getProvider( LEGACY_RUNTIME_LIBRARY_PROVIDER_ID );
-            }
-        }
-        catch( CoreException e )
-        {
-            log( e );
-        }
-        
-        return null;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyRuntimeLibraryProviderUninstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyRuntimeLibraryProviderUninstallOperation.java
deleted file mode 100644
index c712fca..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LegacyRuntimeLibraryProviderUninstallOperation.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.internal.ClasspathUtil;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LegacyRuntimeLibraryProviderUninstallOperation
-
-    extends LibraryProviderOperation
-    
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        beginTask( monitor, "", 1 ); //$NON-NLS-1$
-        
-        try
-        {
-            final IProject project = config.getFacetedProject().getProject();
-            ClasspathUtil.removeClasspathEntries( project, config.getProjectFacet() );
-            
-            worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryInstallRecord.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryInstallRecord.properties
deleted file mode 100644
index ddf6482..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryInstallRecord.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-exceptionWhileParsing = Failed while parsing "{0}" file.
-corruptedInstallRecordFile = The install record file "{0}" is corrupted.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProvider.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProvider.java
deleted file mode 100644
index 6c10415..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProvider.java
+++ /dev/null
@@ -1,469 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.instantiate;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.loadClass;
-
-import java.util.ArrayList;
-import java.util.EnumMap;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderActionType;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderInstallOperationConfig;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LibraryProvider
-
-    implements ILibraryProvider
-    
-{
-    private final class ActionDef
-    {
-        private final String configClassName;
-        private Class<LibraryProviderOperationConfig> configClass;
-        private final String operationClassName;
-        private Class<LibraryProviderOperation> operationClass;
-        
-        public ActionDef( final String configClassName,
-                          final String operationClassName )
-        {
-            if( configClassName == null )
-            {
-                this.configClassName = null;
-                this.configClass = LibraryProviderOperationConfig.class;
-            }
-            else
-            {
-                this.configClassName = configClassName;
-                this.configClass = null;
-            }
-            
-            this.operationClassName = operationClassName;
-            this.operationClass = null;
-        }
-        
-        public String getPluginId()
-        {
-            return LibraryProvider.this.getPluginId();
-        }
-        
-        public synchronized Class<LibraryProviderOperationConfig> getConfigClass()
-        {
-            if( this.configClass == null )
-            {
-                this.configClass = loadClass( getPluginId(), this.configClassName,
-                                              LibraryProviderOperationConfig.class );
-            }
-            
-            return this.configClass;
-        }
-        
-        public synchronized Class<LibraryProviderOperation> getOperationClass()
-        {
-            if( this.operationClass == null )
-            {
-                this.operationClass 
-                    = loadClass( getPluginId(), this.operationClassName, 
-                                 LibraryProviderOperation.class );
-            }
-            
-            return this.operationClass;
-        }
-    }
-    
-    private static final String EXPR_VAR_CONTEXT 
-        = "context"; //$NON-NLS-1$
-
-    private static final String EXPR_VAR_REQUESTING_PROJECT_FACET 
-        = "requestingProjectFacet"; //$NON-NLS-1$
-    
-    private static final String EXPR_VAR_PROJECT_FACETS 
-        = "projectFacets"; //$NON-NLS-1$
-    
-    private static final String EXPR_VAR_TARGETED_RUNTIMES 
-        = "targetedRuntimes"; //$NON-NLS-1$
-    
-    private static final String EXPR_VAR_PROVIDER
-        = "provider"; //$NON-NLS-1$
-    
-    private String id;
-    private String pluginId;
-    private String label;
-    private ILibraryProvider base;
-    private boolean isAbstract;
-    private boolean isHidden;
-    private Expression enablementCondition;
-    private Integer priority;
-    private final Map<String,String> params;
-    private final Map<LibraryProviderActionType,ActionDef> actionDefs;
-    
-    LibraryProvider()
-    {
-        this.id = null;
-        this.pluginId = null;
-        this.label = null;
-        this.base = null;
-        this.isAbstract = false;
-        this.isHidden = false;
-        this.enablementCondition = null;
-        this.priority = null;
-        this.params = new HashMap<String,String>();
-        this.actionDefs = new EnumMap<LibraryProviderActionType,ActionDef>( LibraryProviderActionType.class );
-    }
-    
-    public String getId()
-    {
-        return this.id;
-    }
-    
-    void setId( final String id )
-    {
-        this.id = id;
-    }
-    
-    public String getPluginId()
-    {
-        return this.pluginId;
-    }
-    
-    void setPluginId( final String pluginId )
-    {
-        this.pluginId = pluginId;
-    }
-    
-    public String getLabel()
-    {
-        final String result;
-        
-        if( this.label != null )
-        {
-            result = this.label;
-        }
-        else
-        {
-            if( this.base != null )
-            {
-                result = this.base.getLabel();
-            }
-            else
-            {
-                result = this.id;
-            }
-        }
-        
-        return result;
-    }
-    
-    void setLabel( final String label )
-    {
-        this.label = label;
-    }
-    
-    public ILibraryProvider getBaseProvider()
-    {
-        return this.base;
-    }
-    
-    void setBaseProvider( final ILibraryProvider base )
-    {
-        this.base = base;
-    }
-    
-    public ILibraryProvider getRootProvider()
-    {
-        ILibraryProvider prov = this;
-        
-        while( prov.getBaseProvider() != null )
-        {
-            prov = prov.getBaseProvider();
-        }
-        
-        return prov;
-    }
-    
-    public boolean isAbstract()
-    {
-        return this.isAbstract;
-    }
-    
-    void setIsAbstract( final boolean isAbstract )
-    {
-        this.isAbstract = isAbstract;
-    }
-    
-    public boolean isHidden()
-    {
-        return this.isHidden;
-    }
-    
-    void setIsHidden( final boolean isHidden )
-    {
-        this.isHidden = isHidden;
-    }
-    
-    public int getPriority()
-    {
-        if( this.priority != null )
-        {
-            return this.priority.intValue();
-        }
-        else
-        {
-            if( this.base != null )
-            {
-                return this.base.getPriority();
-            }
-            else
-            {
-                return 0;
-            }
-        }
-    }
-    
-    void setPriority( final int priority )
-    {
-        this.priority = Integer.valueOf( priority );
-    }
-    
-    public boolean isEnabledFor( final IFacetedProjectBase fproj,
-                                 final IProjectFacetVersion fv )
-    {
-        return isEnabledFor( fproj, fv, null );
-    }
-    
-    public boolean isEnabledFor( final IFacetedProjectBase fproj,
-                                 final IProjectFacetVersion fv,
-                                 final Map<String,Object> customVariables )
-    {
-        final EvaluationContext evalContext = new EvaluationContext( null, fv );
-        final EnablementExpressionContext context = new EnablementExpressionContext( fproj, fv, this );
-        evalContext.setAllowPluginActivation( true );
-        
-        if( customVariables != null )
-        {
-            for( Map.Entry<String,Object> entry : customVariables.entrySet() )
-            {
-                evalContext.addVariable( entry.getKey(), entry.getValue() );
-            }
-        }
-        
-        evalContext.addVariable( EXPR_VAR_CONTEXT, context );
-        evalContext.addVariable( EXPR_VAR_REQUESTING_PROJECT_FACET, fv );
-        evalContext.addVariable( EXPR_VAR_PROJECT_FACETS, fproj.getProjectFacets() );
-        evalContext.addVariable( EXPR_VAR_TARGETED_RUNTIMES, fproj.getTargetedRuntimes() );
-        evalContext.addVariable( EXPR_VAR_PROVIDER, this );
-        
-        for( Expression expression : getEnablementConditions() )
-        {
-            try
-            {
-                final EvaluationResult evalResult = expression.evaluate( evalContext );
-                
-                if( evalResult == EvaluationResult.FALSE )
-                {
-                    return false;
-                }
-            }
-            catch( CoreException e )
-            {
-                log( e );
-            }
-        }
-
-        return true;
-    }
-    
-    void setEnablementCondition( final Expression enablementCondition )
-    {
-        this.enablementCondition = enablementCondition;
-    }
-    
-    private List<Expression> getEnablementConditions()
-    {
-        final List<Expression> expressions = new ArrayList<Expression>();
-        LibraryProvider provider = this;
-        
-        while( provider != null )
-        {
-            if( provider.enablementCondition != null )
-            {
-                expressions.add( provider.enablementCondition );
-            }
-            
-            provider = (LibraryProvider) provider.base;
-        }
-        
-        return expressions;
-    }
-    
-    public Map<String,String> getParams()
-    {
-        final Map<String,String> result = new HashMap<String,String>();
-        
-        if( this.base != null )
-        {
-            result.putAll( ( (LibraryProvider) this.base ).getParams() );
-        }
-        
-        result.putAll( this.params );
-        
-        return result;
-    }
-    
-    void addParam( final String name,
-                   final String value )
-    {
-        this.params.put( name, value );
-    }
-
-    public boolean isActionSupported( final LibraryProviderActionType type )
-    {
-        return ( getActionDef( type ) != null );
-    }
-    
-    public LibraryProviderOperation createOperation( final LibraryProviderActionType type )
-    {
-        final ActionDef actionDef = getActionDef( type );
-        
-        if( actionDef == null )
-        {
-            throw new IllegalArgumentException();
-        }
-        
-        final Class<LibraryProviderOperation> cl = actionDef.getOperationClass();
-        
-        if( cl == null )
-        {
-            // The operation class could not be loaded. The problem has been reported to 
-            // the user via the log.
-            
-            return null;
-        }
-        
-        return instantiate( actionDef.getPluginId(), cl );
-    }
-
-    public LibraryProviderOperationConfig createInstallOperationConfig( final LibraryInstallDelegate libraryInstallDelegate )
-    {
-        final ActionDef actionDef = getActionDef( LibraryProviderActionType.INSTALL );
-        
-        if( actionDef == null )
-        {
-            throw new IllegalArgumentException();
-        }
-        
-        final Class<LibraryProviderOperationConfig> cl = actionDef.getConfigClass();
-        
-        if( cl == null )
-        {
-            // Either the action has no config or the config class could not be loaded. In
-            // the latter case, the problem has been reported to the user via the log.
-            
-            return null;
-        }
-        
-        final LibraryProviderOperationConfig cfg = instantiate( actionDef.getPluginId(), cl );
-        
-        if( cfg instanceof LibraryProviderInstallOperationConfig )
-        {
-            ( (LibraryProviderInstallOperationConfig) cfg ).init( libraryInstallDelegate, this );
-        }
-        else
-        {
-            cfg.init( libraryInstallDelegate.getFacetedProject(), 
-                      libraryInstallDelegate.getProjectFacetVersion(), this );
-        }
-        
-        return cfg;
-    }
-    
-    public LibraryProviderOperationConfig createOperationConfig( final IFacetedProjectBase fproj,
-                                                                 final IProjectFacetVersion fv,
-                                                                 final LibraryProviderActionType type )
-    {
-        final ActionDef actionDef = getActionDef( type );
-        
-        if( actionDef == null )
-        {
-            throw new IllegalArgumentException();
-        }
-        
-        final Class<LibraryProviderOperationConfig> cl = actionDef.getConfigClass();
-        
-        if( cl == null )
-        {
-            // Either the action has no config or the config class could not be loaded. In
-            // the latter case, the problem has been repoted to the user via the log.
-            
-            return null;
-        }
-        
-        final LibraryProviderOperationConfig cfg = instantiate( actionDef.getPluginId(), cl );
-        cfg.init( fproj, fv, this );
-        
-        return cfg;
-    }
-    
-    ActionDef getActionDef( final LibraryProviderActionType type )
-    {
-        ActionDef actionDef = this.actionDefs.get( type );
-        
-        if( actionDef == null && this.base != null )
-        {
-            actionDef = ( (LibraryProvider) this.base ).getActionDef( type );
-        }
-        
-        return actionDef;
-    }
-    
-    void addActionDef( final LibraryProviderActionType type,
-                       final String configClassName,
-                       final String operationClassName )
-    {
-        final ActionDef actionDef = new ActionDef( configClassName, operationClassName );
-        this.actionDefs.put( type, actionDef );
-    }
-    
-    public int compareTo( final ILibraryProvider other )
-    {
-        final int p1 = getPriority();
-        final int p2 = other.getPriority();
-        
-        int result = ( p1 < p2 ? -1 : ( p1 == p2 ? 0 : 1 ) );
-        
-        if( result == 0 )
-        {
-            result = getId().compareTo( other.getId() );
-        }
-        
-        return result;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProviderFrameworkImpl.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProviderFrameworkImpl.java
deleted file mode 100644
index 6a547b8..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProviderFrameworkImpl.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.PLUGIN_ID;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.createErrorStatus;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findOptionalElement;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findRequiredAttribute;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findRequiredElement;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.getElementValue;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderActionType;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderFramework;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.InvalidExtensionException;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LibraryProviderFrameworkImpl
-{
-    private static final String UNKNOWN_LIBRARY_PROVIDER = "unknown-library-provider"; //$NON-NLS-1$
-    
-    private static final String EXTENSION_POINT_ID = "libraryProviders"; //$NON-NLS-1$
-    
-    private static final String EL_ACTION = "action"; //$NON-NLS-1$
-    private static final String EL_CONFIG = "config"; //$NON-NLS-1$
-    private static final String EL_ENABLEMENT = "enablement"; //$NON-NLS-1$
-    private static final String EL_LABEL = "label"; //$NON-NLS-1$
-    private static final String EL_OPERATION = "operation"; //$NON-NLS-1$
-    private static final String EL_PARAM = "param"; //$NON-NLS-1$
-    private static final String EL_PRIORITY = "priority"; //$NON-NLS-1$
-    private static final String EL_PROVIDER = "provider"; //$NON-NLS-1$
-    private static final String ATTR_ABSTRACT = "abstract"; //$NON-NLS-1$
-    private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-    private static final String ATTR_EXTENDS = "extends"; //$NON-NLS-1$
-    private static final String ATTR_HIDDEN = "hidden"; //$NON-NLS-1$
-    private static final String ATTR_ID = "id"; //$NON-NLS-1$
-    private static final String ATTR_NAME = "name"; //$NON-NLS-1$
-    private static final String ATTR_TYPE = "type"; //$NON-NLS-1$
-    private static final String ATTR_VALUE = "value"; //$NON-NLS-1$
-    
-    private static final String PREFS_LIBPROV = "libprov"; //$NON-NLS-1$
-    private static final String PREFS_PROVIDER_ID = "provider-id"; //$NON-NLS-1$
-    private static final String PREFS_LAST_PROVIDER_USED = PREFS_LIBPROV + "/last-provider-used"; //$NON-NLS-1$
-    
-    private static LibraryProviderFrameworkImpl instance = null;
-    
-    private final Set<ILibraryProvider> providers;
-    private final Set<ILibraryProvider> providersReadOnly;
-    private final Map<String,ILibraryProvider> providersLookupTable;
-    
-    public LibraryProviderFrameworkImpl()
-    {
-        this.providers = new HashSet<ILibraryProvider>();
-        this.providersReadOnly = Collections.unmodifiableSet( this.providers );
-        this.providersLookupTable = new HashMap<String,ILibraryProvider>();
-        
-        readExtensions();
-    }
-    
-    public static synchronized LibraryProviderFrameworkImpl get()
-    {
-        if( instance == null )
-        {
-            instance = new LibraryProviderFrameworkImpl();
-        }
-        
-        return instance;
-    }
-    
-    public Set<ILibraryProvider> getProviders()
-    {
-        return this.providersReadOnly;
-    }
-    
-    public boolean isProviderDefined( final String id )
-    {
-        return this.providersLookupTable.containsKey( id );
-    }
-    
-    public ILibraryProvider getProvider( final String id )
-    {
-        if( ! isProviderDefined( id ) )
-        {
-            final String msg = Resources.bind( Resources.libraryProviderNotDefined, id );
-            throw new IllegalArgumentException( msg );
-        }
-        
-        return this.providersLookupTable.get( id );
-    }
-    
-    public ILibraryProvider getCurrentProvider( final IProject project,
-                                                final IProjectFacet facet )
-    {
-        final IFacetedProject fproj;
-        
-        try
-        {
-            fproj = ProjectFacetsManager.create( project );
-        }
-        catch( CoreException e )
-        {
-            throw new RuntimeException( e );
-        }
-        
-        if( ! fproj.hasProjectFacet( facet ) )
-        {
-            return null;
-        }
-        
-        String providerId = null;
-        
-        try
-        {
-            Preferences prefs = fproj.getPreferences( facet );
-            
-            if( prefs.nodeExists( PREFS_LIBPROV ) )
-            {
-                prefs = prefs.node( PREFS_LIBPROV );
-                providerId = prefs.get( PREFS_PROVIDER_ID, null );
-            }
-        }
-        catch( BackingStoreException e )
-        {
-            throw new RuntimeException( e );
-        }
-        
-        ILibraryProvider provider = null;
-        
-        if( providerId != null )
-        {
-            if( LibraryProviderFramework.isProviderDefined( providerId ) )
-            {
-                provider = LibraryProviderFramework.getProvider( providerId );
-            }
-            else
-            {
-                provider = getProvider( UNKNOWN_LIBRARY_PROVIDER );
-            }
-        }
-        else
-        {
-            provider = LegacyLibraryProviderDetectorsExtensionPoint.detect( project, facet );
-            
-            if( provider == null )
-            {
-                provider = getProvider( UNKNOWN_LIBRARY_PROVIDER );
-            }
-        }
-        
-        return provider;
-    }
-    
-    public void setCurrentProvider( final IProject project,
-                                    final IProjectFacet facet,
-                                    final ILibraryProvider provider )
-    {
-        final IFacetedProject fproj;
-        
-        try
-        {
-            fproj = ProjectFacetsManager.create( project );
-        }
-        catch( CoreException e )
-        {
-            throw new RuntimeException( e );
-        }
-        
-        try
-        {
-            Preferences prefs = fproj.getPreferences( facet ).node( PREFS_LIBPROV );
-            
-            if( provider == null )
-            {
-                prefs.removeNode();
-            }
-            else
-            {
-                prefs.put( PREFS_PROVIDER_ID, provider.getId() );
-            }
-            
-            prefs.flush();
-        }
-        catch( BackingStoreException e )
-        {
-            throw new RuntimeException( e );
-        }
-    }
-    
-    public ILibraryProvider getLastProviderUsed( final IProjectFacetVersion fv )
-    {
-        try
-        {
-            final IProjectFacet facet = fv.getProjectFacet();
-            
-            final Preferences prefs 
-                = FacetedProjectFramework.getPreferences( facet ).node( PREFS_LAST_PROVIDER_USED );
-            
-            final String providerId = prefs.get( fv.getVersionString(), null );
-            
-            if( providerId != null )
-            {
-                if( isProviderDefined( providerId ) )
-                {
-                    return getProvider( providerId );
-                }
-            }
-        }
-        catch( BackingStoreException e )
-        {
-            log( e );
-        }
-        
-        return null;
-    }
-    
-    public void setLastProviderUsed( final IProjectFacetVersion fv,
-                                     final ILibraryProvider provider )
-    {
-        try
-        {
-            final IProjectFacet facet = fv.getProjectFacet();
-            
-            final Preferences prefs 
-                = FacetedProjectFramework.getPreferences( facet ).node( PREFS_LAST_PROVIDER_USED );
-            
-            prefs.put( fv.getVersionString(), provider.getId() );
-        
-            prefs.flush();
-        }
-        catch( BackingStoreException e )
-        {
-            log( e );
-        }
-    }
-    
-    public static void reportInvalidActionType( final String type,
-                                                final String pluginId )
-    {
-        final String msg = Resources.bind( Resources.invalidActionType, type, pluginId ); 
-        log( createErrorStatus( msg ) );
-    }
-    
-    public static void reportProviderNotDefined( final String providerId,
-                                                 final String pluginId )
-    {
-        final String msg 
-            = Resources.bind( Resources.libraryProviderNotDefinedWithPlugin, providerId,
-                              pluginId );
-        
-        log( createErrorStatus( msg ) );
-    }
-    
-    private void readExtensions()
-    {
-        final IExtensionRegistry registry = Platform.getExtensionRegistry();
-        
-        final IExtensionPoint point 
-            = registry.getExtensionPoint( PLUGIN_ID, EXTENSION_POINT_ID );
-        
-        if( point == null )
-        {
-            throw new IllegalStateException();
-        }
-        
-        final List<IConfigurationElement> cfgels = new ArrayList<IConfigurationElement>();
-        
-        for( IExtension extension : point.getExtensions() )
-        {
-            for( IConfigurationElement element : extension.getConfigurationElements() )
-            {
-                cfgels.add( element );
-            }
-        }
-        
-        final Map<LibraryProvider,String> providerToBaseIdMap 
-            = new HashMap<LibraryProvider,String>();
-
-        for( IConfigurationElement element : cfgels )
-        {
-            if( ! element.getName().equals( EL_PROVIDER ) )
-            {
-                continue;
-            }
-            
-            try
-            {
-                final LibraryProvider provider = new LibraryProvider();
-                provider.setPluginId( element.getContributor().getName() );
-                
-                provider.setId( findRequiredAttribute( element, ATTR_ID ) );
-                
-                if( this.providersLookupTable.containsKey( provider.getId() ) )
-                {
-                    final String msg 
-                        = Resources.bind( Resources.libraryProviderIdAlreadyUsed, 
-                                          provider.getId() );
-                    
-                    log( createErrorStatus( msg ) );
-                    
-                    throw new InvalidExtensionException();
-                }
-                
-                final String baseProviderId = element.getAttribute( ATTR_EXTENDS );
-                
-                if( baseProviderId != null )
-                {
-                    providerToBaseIdMap.put( provider, baseProviderId.trim() );
-                }
-                
-                final String abstractAttr = element.getAttribute( ATTR_ABSTRACT );
-                
-                if( abstractAttr != null )
-                {
-                    provider.setIsAbstract( Boolean.valueOf( abstractAttr ) );
-                }
-                
-                final String hiddenAttr = element.getAttribute( ATTR_HIDDEN );
-                
-                if( hiddenAttr != null )
-                {
-                    provider.setIsHidden( Boolean.valueOf( hiddenAttr ) );
-                }
-
-                for( IConfigurationElement child : element.getChildren() )
-                {
-                    final String childName = child.getName();
-                    
-                    if( childName.equals( EL_LABEL ) )
-                    {
-                        provider.setLabel( child.getValue().trim() );
-                    }
-                    else if( childName.equals( EL_ENABLEMENT ) )
-                    {
-                        final Expression expr;
-                        
-                        try
-                        {
-                            expr = ExpressionConverter.getDefault().perform( child );
-                        }
-                        catch( CoreException e )
-                        {
-                            log( e );
-                            throw new InvalidExtensionException();
-                        }
-                        
-                        provider.setEnablementCondition( expr );
-                    }
-                    else if( childName.equals( EL_PRIORITY ) )
-                    {
-                        final String priorityString = child.getValue().trim();
-                        final int priority;
-                        
-                        try
-                        {
-                            priority = Integer.parseInt( priorityString );
-                        }
-                        catch( NumberFormatException e )
-                        {
-                            log( e );
-                            throw new InvalidExtensionException();
-                        }
-                        
-                        provider.setPriority( priority );
-                    }
-                    else if( childName.equals( EL_PARAM ) )
-                    {
-                        final String name = findRequiredAttribute( child, ATTR_NAME );
-                        
-                        String value = child.getAttribute( ATTR_VALUE );
-                        
-                        if( value == null )
-                        {
-                            value = getElementValue( child, null );
-                        }
-                        
-                        provider.addParam( name, value );
-                    }
-                    else if( childName.equals( EL_ACTION ) )
-                    {
-                        final String type = findRequiredAttribute( child, ATTR_TYPE ).toUpperCase();
-                        final LibraryProviderActionType t;
-                        
-                        try
-                        {
-                            t = LibraryProviderActionType.valueOf( type );
-                        }
-                        catch( IllegalArgumentException e )
-                        {
-                            reportInvalidActionType( type, provider.getPluginId() );
-                            throw new InvalidExtensionException();
-                        }
-                        
-                        final IConfigurationElement elConfig 
-                            = findOptionalElement( child, EL_CONFIG );
-                        
-                        final String configClassName;
-                        
-                        if( elConfig == null )
-                        {
-                            configClassName = LibraryProviderOperationConfig.class.getName();
-                        }
-                        else
-                        {
-                            configClassName = findRequiredAttribute( elConfig, ATTR_CLASS );
-                        }
-                        
-                        final IConfigurationElement elOperation 
-                            = findRequiredElement( child, EL_OPERATION );
-                        
-                        final String operationClassName 
-                            = findRequiredAttribute( elOperation, ATTR_CLASS );
-                        
-                        provider.addActionDef( t, configClassName, operationClassName );
-                    }
-                }
-                
-                if( provider != null )
-                {
-                    this.providers.add( provider );
-                    this.providersLookupTable.put( provider.getId(), provider );
-                }
-            }
-            catch( InvalidExtensionException e )
-            {
-                // Ignore and continue. The problem has already been reported to the user
-                // in the log.
-            }
-        }
-        
-        for( Map.Entry<LibraryProvider,String> entry : providerToBaseIdMap.entrySet() )
-        {
-            final LibraryProvider provider = entry.getKey();
-            final String baseProviderId = entry.getValue();
-            final ILibraryProvider baseProvider = this.providersLookupTable.get( baseProviderId );
-            
-            if( baseProvider == null )
-            {
-                reportProviderNotDefined( baseProviderId, provider.getPluginId() );
-                this.providers.remove( provider );
-                this.providersLookupTable.remove( provider.getId() );
-            }
-            else
-            {
-                provider.setBaseProvider( baseProvider );
-            }
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String libraryProviderNotDefined;
-        public static String libraryProviderNotDefinedWithPlugin;
-        public static String libraryProviderIdAlreadyUsed;
-        public static String invalidActionType;
-        
-        static
-        {
-            initializeMessages( LibraryProviderFrameworkImpl.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProviderFrameworkImpl.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProviderFrameworkImpl.properties
deleted file mode 100644
index 5c7d718..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/LibraryProviderFrameworkImpl.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-libraryProviderNotDefined = Library provider "{0}" is not defined.
-libraryProviderNotDefinedWithPlugin = Library provider "{0}" is not defined. This id is referenced in plugin {1}.
-libraryProviderIdAlreadyUsed = Library provider id \"{0}\" is already used by another provider.
-invalidActionType = Invalid library provider action type \"{0}\" was used in plugin {1}.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/PropertiesHost.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/PropertiesHost.java
deleted file mode 100644
index 8874578..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/PropertiesHost.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
-
-import org.eclipse.jst.common.project.facet.core.libprov.IPropertyChangeListener;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public abstract class PropertiesHost
-{
-    private final Set<IPropertyChangeListener> globalListeners
-        = new CopyOnWriteArraySet<IPropertyChangeListener>();
-    
-    private final Map<String,Set<IPropertyChangeListener>> propertySpecificListeners 
-        = new HashMap<String,Set<IPropertyChangeListener>>();
-    
-    public void addListener( final IPropertyChangeListener listener,
-                             final String... properties )
-    {
-        if( properties.length == 0 )
-        {
-            synchronized( this.globalListeners )
-            {
-                this.globalListeners.add( listener );
-            }
-        }
-        else
-        {
-            synchronized( this.propertySpecificListeners )
-            {
-                for( String property : properties )
-                {
-                    Set<IPropertyChangeListener> list = this.propertySpecificListeners.get( property );
-                    
-                    if( list == null )
-                    {
-                        list = new CopyOnWriteArraySet<IPropertyChangeListener>();
-                        this.propertySpecificListeners.put( property, list );
-                    }
-                    
-                    list.add( listener );
-                }
-            }
-        }
-    }
-    
-    public void removeListener( final IPropertyChangeListener listener )
-    {
-        boolean globalListenerRemoveResult;
-        
-        synchronized( this.globalListeners )
-        {
-            globalListenerRemoveResult = this.globalListeners.remove( listener );
-        }
-        
-        if( globalListenerRemoveResult == false )
-        {
-            synchronized( this.propertySpecificListeners )
-            {
-                for( Set<IPropertyChangeListener> listeners : this.propertySpecificListeners.values() )
-                {
-                    listeners.remove( listener );
-                }
-            }
-        }
-    }
-    
-    protected void notifyListeners( final String property,
-                                    final Object oldValue,
-                                    final Object newValue )
-    {
-        for( IPropertyChangeListener listener : this.globalListeners )
-        {
-            listener.propertyChanged( property, oldValue, newValue );
-        }
-        
-        final Set<IPropertyChangeListener> listeners;
-        
-        synchronized( this.propertySpecificListeners )
-        {
-            listeners = this.propertySpecificListeners.get( property );
-        }
-        
-        if( listeners != null )
-        {
-            for( IPropertyChangeListener listener : listeners )
-            {
-                listener.propertyChanged( property, oldValue, newValue );
-            }
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderInstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderInstallOperation.java
deleted file mode 100644
index 52f335b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderInstallOperation.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.ClasspathHelper;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class RuntimeLibraryProviderInstallOperation
-
-    extends LibraryProviderOperation
-    
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        beginTask( monitor, "", 1 ); //$NON-NLS-1$
-        
-        try
-        {
-            final IProjectFacetVersion fv = config.getProjectFacetVersion();
-            
-            ClasspathHelper.addClasspathEntries( config.getFacetedProject().getProject(), fv );
-            
-            worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderPropertyTester.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderPropertyTester.java
deleted file mode 100644
index 835b298..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderPropertyTester.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import java.util.List;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jst.common.project.facet.core.IClasspathProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class RuntimeLibraryProviderPropertyTester
-
-    extends PropertyTester
-    
-{
-    public boolean test( final Object receiver, 
-                         final String property, 
-                         final Object[] args, 
-                         final Object value )
-    {
-        if( receiver instanceof EnablementExpressionContext )
-        {
-            final EnablementExpressionContext context = (EnablementExpressionContext) receiver;
-            final IProjectFacetVersion fv = context.getRequestingProjectFacetVersion();
-            final IRuntime runtime = context.getFacetedProject().getPrimaryRuntime();
-            
-            if( runtime != null )
-            {
-                final IClasspathProvider cpprov 
-                    = (IClasspathProvider) runtime.getAdapter( IClasspathProvider.class );
-                
-                final List<IClasspathEntry> cpentries = cpprov.getClasspathEntries( fv );
-                
-                if( cpentries != null && ! cpentries.isEmpty() )
-                {
-                    return true;
-                }
-            }
-        }
-            
-        return false;
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderUninstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderUninstallOperation.java
deleted file mode 100644
index 9dd226b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/RuntimeLibraryProviderUninstallOperation.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.ClasspathHelper;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class RuntimeLibraryProviderUninstallOperation
-
-    extends LibraryProviderOperation
-    
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        beginTask( monitor, "", 1 ); //$NON-NLS-1$
-        
-        try
-        {
-            final IProjectFacetVersion fv = config.getProjectFacetVersion();
-            
-            ClasspathHelper.removeClasspathEntries( config.getFacetedProject().getProject(), fv );
-            
-            worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/UnknownLibraryProviderInstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/UnknownLibraryProviderInstallOperation.java
deleted file mode 100644
index 764636c..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/internal/UnknownLibraryProviderInstallOperation.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class UnknownLibraryProviderInstallOperation
-
-    extends LibraryProviderOperation
-    
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        // This is never expected to be called...
-        throw new IllegalStateException();
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/BundleReference.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/BundleReference.java
deleted file mode 100644
index 5b14306..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/BundleReference.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.osgi;
-
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.Version;
-
-/**
- * @since 1.4
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class BundleReference
-{
-    private String id;
-    private VersionRange versionRange;
-    
-    public BundleReference( final String id,
-                            final VersionRange versionRange )
-    {
-        this.id = id;
-        this.versionRange = versionRange;
-    }
-    
-    public String getBundleId()
-    {
-        return this.id;
-    }
-    
-    public VersionRange getVersionRange()
-    {
-        return this.versionRange;
-    }
-    
-    public boolean isResolvable()
-    {
-        return ( getBundles() != null );
-    }
-    
-    public Bundle getBundle()
-    {
-        final Bundle[] bundles = getBundles();
-        
-        if( bundles == null )
-        {
-            return null;
-        }
-        
-        final SortedMap<Version,Bundle> bundlesByVersion = new TreeMap<Version,Bundle>(); 
-        
-        for( Bundle bundle : bundles )
-        {
-            final Version version = getBundleVersion( bundle );
-            
-            if( version != null )
-            {
-                bundlesByVersion.put( version, bundle );
-            }
-        }
-        
-        if( bundlesByVersion.isEmpty() )
-        {
-            return null;
-        }
-        else
-        {
-            return bundlesByVersion.get( bundlesByVersion.lastKey() );
-        }
-    }
-    
-    private Bundle[] getBundles()
-    {
-        return Platform.getBundles( this.id, this.versionRange == null ? null : this.versionRange.toString() );
-    }
-    
-    private static Version getBundleVersion( final Bundle bundle )
-    {
-        final String versionString = (String) bundle.getHeaders().get( "Bundle-Version" ); //$NON-NLS-1$
-        return versionString == null ? null : new Version( versionString );
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesContainer.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesContainer.java
deleted file mode 100644
index 5fd1f0e..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesContainer.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.osgi;
-
-import static org.eclipse.jst.common.project.facet.core.JavaFacet.isJavaProject;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * @since 1.4
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class OsgiBundlesContainer
-{
-    public static final String CONTAINER_ID = "eclipse.fproj.jdt.libprov.osgi"; //$NON-NLS-1$
-    public static final IPath CONTAINER_PATH = new Path( CONTAINER_ID );
-    
-    private static final String PREFS_OSGI_BUNDLES_CONTAINER = "osgi-bundles-container"; //$NON-NLS-1$
-    private static final String PREFS_BUNDLES = "bundles"; //$NON-NLS-1$
-    private static final String PREFS_LABEL = "label"; //$NON-NLS-1$
-    
-    public static boolean isOnClasspath( final IProject project,
-                                         final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        if( isJavaProject( project ) )
-        {
-            return isOnClasspath( JavaCore.create( project ), facet );
-        }
-        
-        return false;
-    }
-    
-    public static boolean isOnClasspath( final IJavaProject project,
-                                         final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        final IClasspathEntry[] cp = project.getRawClasspath();
-        
-        for( IClasspathEntry cpe : cp )
-        {
-            if( isOsgiBundlesContainer( cpe ) )
-            {
-                final String fid = cpe.getPath().segment( 1 );
-                return facet.getId().equals( fid );
-            }
-        }
-        
-        return false;
-    }
-    
-    public static void addToClasspath( final IProject project,
-                                       final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        addToClasspath( project, facet, null );
-    }
-
-    public static void addToClasspath( final IProject project,
-                                       final IProjectFacet facet,
-                                       final IClasspathAttribute[] attributes )
-    
-        throws CoreException
-        
-    {
-        if( isJavaProject( project ) )
-        {
-            addToClasspath( JavaCore.create( project ), facet, attributes );
-        }
-    }
-
-    public static void addToClasspath( final IJavaProject project,
-                                       final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        addToClasspath( project, facet, null );
-    }
-    
-    public static void addToClasspath( final IJavaProject project,
-                                       final IProjectFacet facet,
-                                       final IClasspathAttribute[] attributes )
-    
-        throws CoreException
-        
-    {
-        if( ! isOnClasspath( project, facet ) )
-        {
-            final IClasspathEntry[] oldcp = project.getRawClasspath();
-            final IClasspathEntry[] newcp = new IClasspathEntry[ oldcp.length + 1 ];
-            System.arraycopy( oldcp, 0, newcp, 0, oldcp.length );
-            final IPath path = CONTAINER_PATH.append( facet.getId() );
-            final IClasspathAttribute[] attrs = ( attributes != null ? attributes : new IClasspathAttribute[ 0 ] );
-            newcp[ newcp.length - 1 ] = JavaCore.newContainerEntry( path, null, attrs, false );
-            
-            project.setRawClasspath( newcp, null );
-        }
-    }
-    
-    public static void removeFromClasspath( final IProject project,
-                                            final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        if( isJavaProject( project ) )
-        {
-            removeFromClasspath( JavaCore.create( project ), facet );
-        }
-    }
-    
-    public static void removeFromClasspath( final IJavaProject project,
-                                            final IProjectFacet facet )
-    
-        throws CoreException
-        
-    {
-        final IClasspathEntry[] oldcp = project.getRawClasspath();
-        
-        for( int i = 0; i < oldcp.length; i++ )
-        {
-            final IClasspathEntry cpe = oldcp[ i ];
-            
-            if( isOsgiBundlesContainer( cpe ) )
-            {
-                final String fid = cpe.getPath().segment( 1 );
-                
-                if( facet.getId().equals( fid ) )
-                {
-                    final IClasspathEntry[] newcp = new IClasspathEntry[ oldcp.length - 1 ];
-                    System.arraycopy( oldcp, 0, newcp, 0, i );
-                    System.arraycopy( oldcp, i + 1, newcp, i, oldcp.length - i - 1 );
-                    
-                    project.setRawClasspath( newcp, null );
-                    
-                    return;
-                }
-            }
-        }
-    }
-    
-    public static boolean isOsgiBundlesContainer( final IClasspathEntry cpe )
-    {
-        final IPath path = cpe.getPath();
-        return path.segmentCount() >= 2 && path.segment( 0 ).equals( CONTAINER_ID );
-    }
-    
-    public static List<BundleReference> getBundleReferences( final IProject project,
-                                                             final IProjectFacet facet )
-    {
-        IFacetedProject fproj = null;
-        
-        try
-        {
-            fproj = ProjectFacetsManager.create( project );
-        }
-        catch( CoreException e )
-        {
-            log( e );
-        }
-        
-        if( fproj == null )
-        {
-            return Collections.emptyList();
-        }
-        else
-        {
-            return getBundleReferences( fproj, facet );
-        }
-    }
-    
-    public static List<BundleReference> getBundleReferences( final IFacetedProject project,
-                                                             final IProjectFacet facet )
-    {
-        final List<BundleReference> bundleReferences = new ArrayList<BundleReference>();
-        
-        try
-        {
-            Preferences prefs = project.getPreferences( facet );
-            
-            if( prefs.nodeExists( PREFS_OSGI_BUNDLES_CONTAINER ) )
-            {
-                prefs = prefs.node( PREFS_OSGI_BUNDLES_CONTAINER );
-                
-                final String unparsedMetadata = prefs.get( PREFS_BUNDLES, null );
-                
-                if( unparsedMetadata != null )
-                {
-                    for( String unparsedBundleReference : unparsedMetadata.split( ";" ) ) //$NON-NLS-1$
-                    {
-                        bundleReferences.add( parseBundleReference( unparsedBundleReference ) );
-                    }
-                }
-            }
-        }
-        catch( BackingStoreException e )
-        {
-            log( e );
-        }
-        
-        return bundleReferences;
-    }
-    
-    public static void setBundleReferences( final IProject project,
-                                            final IProjectFacet facet,
-                                            final List<BundleReference> bundleReferences )
-    {
-        IFacetedProject fproj = null;
-        
-        try
-        {
-            fproj = ProjectFacetsManager.create( project );
-        }
-        catch( CoreException e )
-        {
-            log( e );
-        }
-        
-        if( fproj != null )
-        {
-            setBundleReferences( fproj, facet, bundleReferences );
-        }
-    }
-    
-    public static void setBundleReferences( final IFacetedProject project,
-                                            final IProjectFacet facet,
-                                            final List<BundleReference> bundleReferences )
-    {
-        try
-        {
-            Preferences prefs = project.getPreferences( facet );
-            
-            if( bundleReferences == null || bundleReferences.isEmpty() )
-            {
-                prefs.removeNode();
-            }
-            else
-            {
-                final StringBuilder buf = new StringBuilder();
-                
-                for( BundleReference bundleReference : bundleReferences )
-                {
-                    if( buf.length() > 0 )
-                    {
-                        buf.append( ';' );
-                    }
-                    
-                    buf.append( convert( bundleReference ) );
-                }
-                
-                prefs = prefs.node( PREFS_OSGI_BUNDLES_CONTAINER );
-                prefs.put( PREFS_BUNDLES, buf.toString() );
-            }
-            
-            prefs.flush();
-        }
-        catch( BackingStoreException e )
-        {
-            log( e );
-        }
-    }
-    
-    public static BundleReference parseBundleReference( final String bundleReferenceString )
-    {
-        String bundleId;
-        VersionRange versionRange;
-        
-        final int colon = bundleReferenceString.indexOf( ':' );
-        
-        if( colon == -1 )
-        {
-            bundleId = bundleReferenceString;
-            versionRange = null;
-        }
-        else
-        {
-            bundleId = bundleReferenceString.substring( 0, colon );
-            
-            try
-            {
-                versionRange = new VersionRange( bundleReferenceString.substring( colon + 1 ) );
-            }
-            catch( IllegalArgumentException e )
-            {
-                log( e );
-                versionRange = null;
-            }
-        }
-        
-        return new BundleReference( bundleId, versionRange );        
-    }
-    
-    public static String getContainerLabel( final IProject project,
-                                            final IProjectFacet facet )
-    {
-        IFacetedProject fproj = null;
-        
-        try
-        {
-            fproj = ProjectFacetsManager.create( project );
-        }
-        catch( CoreException e )
-        {
-            log( e );
-        }
-        
-        if( fproj == null )
-        {
-            return null;
-        }
-        else
-        {
-            return getContainerLabel( fproj, facet );
-        }
-    }
-    
-    public static String getContainerLabel( final IFacetedProject project,
-                                            final IProjectFacet facet )
-    {
-        String label = null;
-        
-        try
-        {
-            Preferences prefs = project.getPreferences( facet );
-            
-            if( prefs.nodeExists( PREFS_OSGI_BUNDLES_CONTAINER ) )
-            {
-                prefs = prefs.node( PREFS_OSGI_BUNDLES_CONTAINER );
-                label = prefs.get( PREFS_LABEL, (String) null );
-            }
-        }
-        catch( BackingStoreException e )
-        {
-            log( e );
-        }
-        
-        return label;
-    }
-    
-    public static void setContainerLabel( final IProject project,
-                                          final IProjectFacet facet,
-                                          final String label )
-    {
-        IFacetedProject fproj = null;
-        
-        try
-        {
-            fproj = ProjectFacetsManager.create( project );
-        }
-        catch( CoreException e )
-        {
-            log( e );
-        }
-        
-        if( fproj != null )
-        {
-            setContainerLabel( fproj, facet, label );
-        }
-    }
-    
-    public static void setContainerLabel( final IFacetedProject project,
-                                          final IProjectFacet facet,
-                                          final String label )
-    {
-        try
-        {
-            Preferences prefs = project.getPreferences( facet );
-            prefs = prefs.node( PREFS_OSGI_BUNDLES_CONTAINER );
-            
-            if( label == null )
-            {
-                prefs.remove( PREFS_LABEL );
-            }
-            else
-            {
-                prefs.put( PREFS_LABEL, label );
-            }
-            
-            prefs.flush();
-        }
-        catch( BackingStoreException e )
-        {
-            log( e );
-        }
-    }
-    
-    private static String convert( final BundleReference bundleReference )
-    {
-        final StringBuilder buf = new StringBuilder();
-        
-        buf.append( bundleReference.getBundleId() );
-        
-        if( bundleReference.getVersionRange() != null )
-        {
-            buf.append( ':' );
-            buf.append( bundleReference.getVersionRange().toString() );
-        }
-        
-        return buf.toString();
-    }
-    
-    /**
-     * This class should not be instantiated.
-     */
-
-    private OsgiBundlesContainer() {}
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperation.java
deleted file mode 100644
index 790c621..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperation.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.osgi;
-
-import static org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer.addToClasspath;
-import static org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer.isOnClasspath;
-import static org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer.*;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-
-
-/**
- * @since 1.4
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class OsgiBundlesLibraryProviderInstallOperation
-
-    extends LibraryProviderOperation
-
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-
-        throws CoreException
-
-    {
-        beginTask( monitor, "", 1 ); //$NON-NLS-1$
-
-        try
-        {
-            final OsgiBundlesLibraryProviderInstallOperationConfig cfg
-                = (OsgiBundlesLibraryProviderInstallOperationConfig) config;
-            
-            IProject project = cfg.getFacetedProject().getProject();
-            
-            if( project == null ) // TODO: Galileo - Remove this workaround.
-            {
-                final String name = ( (IFacetedProjectWorkingCopy) config.getFacetedProject() ).getProjectName();
-                project = ResourcesPlugin.getWorkspace().getRoot().getProject( name );
-            }
-            
-            final IProjectFacet facet = cfg.getProjectFacet();
-            
-            setBundleReferences( project, facet, cfg.getBundleReferences() );
-            setContainerLabel( project, facet, cfg.getContainerLabel() );
-            
-            if( ! isOnClasspath( project, facet ) )
-            {
-                addToClasspath( project, facet, cfg.getClasspathAttributes() );
-            }
-
-        	worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperationConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperationConfig.java
deleted file mode 100644
index b1774ee..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperationConfig.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.osgi;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @since 1.4
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class OsgiBundlesLibraryProviderInstallOperationConfig
-
-	extends LibraryProviderOperationConfig
-    
-{
-    private static final String PARAM_CONTAINER_LABEL = "container.label"; //$NON-NLS-1$
-    private static final String PARAM_BUNDLE = "bundle."; //$NON-NLS-1$
-    
-    private String containerLabelOverride;
-    private List<BundleReference> bundleReferences;
-    private List<BundleReference> bundleReferencesReadOnly;
-
-    public OsgiBundlesLibraryProviderInstallOperationConfig()
-    {
-        this.containerLabelOverride = null;
-        this.bundleReferences = new ArrayList<BundleReference>();
-        this.bundleReferencesReadOnly = Collections.unmodifiableList( this.bundleReferences );
-    }
-    
-    @Override
-    public synchronized void init( final IFacetedProjectBase fproj,
-                                   final IProjectFacetVersion fv,
-                                   final ILibraryProvider provider )
-    {
-        super.init( fproj, fv, provider );
-        
-        this.containerLabelOverride = provider.getParams().get( PARAM_CONTAINER_LABEL );
-        this.bundleReferences.addAll( getBundleReferences( provider ) );
-    }
-    
-    public List<BundleReference> getBundleReferences()
-    {
-        return this.bundleReferencesReadOnly;
-    }
-    
-    public static List<BundleReference> getBundleReferences( final ILibraryProvider provider )
-    {
-        final List<BundleReference> bundleReferences = new ArrayList<BundleReference>();
-        final Map<String,String> params = provider.getParams();
-        String unparsedBundleReference;
-        
-        for( int i = 0; ( unparsedBundleReference = params.get( PARAM_BUNDLE + String.valueOf( i ) ) ) != null; i++ )
-        {
-            bundleReferences.add( OsgiBundlesContainer.parseBundleReference( unparsedBundleReference ) );
-        }
-        
-        return bundleReferences;
-    }
-    
-    public IClasspathAttribute[] getClasspathAttributes()
-    {
-        return null;
-    }
-    
-    public String getContainerLabel()
-    {
-        return this.containerLabelOverride;
-    }
-
-    @Override
-    public IStatus validate()
-    {
-        IStatus status = super.validate();
-        
-        for( BundleReference bundleReference : this.bundleReferences )
-        {
-            if( ! bundleReference.isResolvable() )
-            {
-                final String msg;
-                final String bundleId = bundleReference.getBundleId();
-                final VersionRange versionRange = bundleReference.getVersionRange();
-                
-                if( versionRange == null )
-                {
-                    msg = NLS.bind( Resources.bunldeCannotBeResolvedNoVersion, bundleId ); 
-                }
-                else
-                {
-                    msg = NLS.bind( Resources.bundleCannotBeResolved, bundleId, versionRange.toString() );
-                }
-                
-                status = new Status( IStatus.ERROR, FacetedProjectFrameworkJavaPlugin.PLUGIN_ID, msg );
-                
-                break;
-            }
-        }
-        
-        return status;
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String bundleCannotBeResolved;
-        public static String bunldeCannotBeResolvedNoVersion;
-        
-        static
-        {
-            initializeMessages( OsgiBundlesLibraryProviderInstallOperationConfig.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperationConfig.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperationConfig.properties
deleted file mode 100644
index 116d69b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderInstallOperationConfig.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-bundleCannotBeResolved = Bundle {0} with version {1} cannot be found.
-bunldeCannotBeResolvedNoVersion = Bundle {0} cannot be found.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderUninstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderUninstallOperation.java
deleted file mode 100644
index eeab0f5..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/OsgiBundlesLibraryProviderUninstallOperation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.osgi;
-
-import static org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer.removeFromClasspath;
-import static org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer.setBundleReferences;
-import static org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer.setContainerLabel;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-
-/**
- * @since 1.4
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class OsgiBundlesLibraryProviderUninstallOperation
-
-    extends LibraryProviderOperation
-
-{
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-
-        throws CoreException
-
-    {
-        beginTask( monitor, "", 1 ); //$NON-NLS-1$
-
-        try
-        {
-            final IProject project = config.getFacetedProject().getProject();
-            final IProjectFacet facet = config.getProjectFacet();
-            
-            removeFromClasspath( project, facet );
-            setBundleReferences( project, facet, null );
-            setContainerLabel( project, facet, null );
-
-            worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesContainerImpl.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesContainerImpl.java
deleted file mode 100644
index da17843..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesContainerImpl.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.osgi.internal;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jst.common.project.facet.core.libprov.osgi.BundleReference;
-import org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class OsgiBundlesContainerImpl
-
-    implements IClasspathContainer
-    
-{
-    private final IPath containerPath;
-    private final IProjectFacet facet;
-    private final IClasspathEntry[] entries;
-    private final String description;
-    
-    private OsgiBundlesContainerImpl( final IJavaProject project,
-                                      final IPath containerPath )
-    {
-        this.containerPath = containerPath;
-        final String fid = containerPath.segment( 1 );
-        
-        if( ! ProjectFacetsManager.isProjectFacetDefined( fid ) )
-        {
-            this.facet = null;
-            this.description = NLS.bind( Resources.containerLabel, fid );
-            this.entries = new IClasspathEntry[ 0 ];
-            
-            return;
-        }
-        
-        this.facet = ProjectFacetsManager.getProjectFacet( fid );
-        
-        final IProject pj = project.getProject();
-        
-        String desc = OsgiBundlesContainer.getContainerLabel( pj, this.facet );
-        
-        if( desc == null )
-        {
-            desc = NLS.bind( Resources.containerLabel, this.facet.getLabel() );
-        }
-        
-        this.description = desc;
-
-        final List<BundleReference> bundleReferences 
-            = OsgiBundlesContainer.getBundleReferences( pj, this.facet );
-        
-        final List<IClasspathEntry> entriesList = new ArrayList<IClasspathEntry>();
-        
-        for( BundleReference bundleReference : bundleReferences )
-        {
-            final Bundle bundle = bundleReference.getBundle();
-            
-            if( bundle != null )
-            {
-                File file = null;
-                
-                try
-                {
-                    file = FileLocator.getBundleFile( bundle );
-                }
-                catch( IOException e ) {}
-                
-                if( file != null )
-                {
-                    entriesList.add( JavaCore.newLibraryEntry( new Path( file.getPath() ), null, null ) );
-                }
-            }
-        }
-        
-        this.entries = entriesList.toArray( new IClasspathEntry[ entriesList.size() ] );
-    }
-    
-    public IClasspathEntry[] getClasspathEntries()
-    {
-        return this.entries;
-    }
-
-    public String getDescription()
-    {
-        return this.description;
-    }
-
-    public int getKind()
-    {
-    	return K_APPLICATION;
-    }
-
-    public IPath getPath()
-    {
-        return this.containerPath;
-    }
-    
-    public boolean equals( final Object obj )
-    {
-        if( ! ( obj instanceof OsgiBundlesContainerImpl ) )
-        {
-            return false;
-        }
-        else
-        {
-            return this.entries.equals( ( (OsgiBundlesContainerImpl) obj ).entries );
-        }
-    }
-    
-    public static final class Initializer
-    
-        extends ClasspathContainerInitializer
-        
-    {
-        @Override
-        public void initialize( final IPath containerPath,
-                                final IJavaProject project )
-        
-            throws CoreException
-            
-        {
-            final OsgiBundlesContainerImpl container 
-                = new OsgiBundlesContainerImpl( project, containerPath );
-            
-            JavaCore.setClasspathContainer( containerPath, new IJavaProject[] { project },
-                                            new IClasspathContainer[] { container }, null );
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String containerLabel;
-        
-        static
-        {
-            initializeMessages( OsgiBundlesContainerImpl.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesContainerImpl.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesContainerImpl.properties
deleted file mode 100644
index cc6a4cf..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesContainerImpl.properties
+++ /dev/null
@@ -1 +0,0 @@
-containerLabel = OSGi Bundles ({0})
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesLibraryProviderResolvablePropertyTester.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesLibraryProviderResolvablePropertyTester.java
deleted file mode 100644
index 9bafbe8..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/osgi/internal/OsgiBundlesLibraryProviderResolvablePropertyTester.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.osgi.internal;
-
-import static org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperationConfig.getBundleReferences;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.osgi.BundleReference;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class OsgiBundlesLibraryProviderResolvablePropertyTester
-
-    extends PropertyTester
-    
-{
-    public boolean test( final Object receiver, 
-                         final String property, 
-                         final Object[] args, 
-                         final Object value )
-    {
-        if( receiver instanceof EnablementExpressionContext )
-        {
-            final EnablementExpressionContext context = (EnablementExpressionContext) receiver;
-            return test( context.getLibraryProvider(), value );
-        }
-        else if( receiver instanceof ILibraryProvider )
-        {
-            return test( (ILibraryProvider) receiver, value );
-        }
-            
-        return false;
-    }
-    
-    private boolean test( final ILibraryProvider provider,
-                          final Object value )
-    {
-        boolean isResolvable = true;
-        
-        for( BundleReference bundleReference : getBundleReferences( provider ) )
-        {
-            if( ! bundleReference.isResolvable() )
-            {
-                isResolvable = false;
-                break;
-            }
-        }
-        
-        if( value instanceof Boolean )
-        {
-            return value.equals( isResolvable );
-        }
-        
-        return false;
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/KeyClassesValidator.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/KeyClassesValidator.java
deleted file mode 100644
index 9ee5b14..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/KeyClassesValidator.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.PLUGIN_ID;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * An implementation of {@link UserLibraryValidator} that checks for presence of key classes in
- * the selected libraries. Validation fails if one or more of the key classes are not found. This
- * validator can be used as is or subclassed.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class KeyClassesValidator
-
-    extends UserLibraryValidator
-    
-{
-    private final Set<String> classFileNames = new HashSet<String>();
-    private final Map<String,String> classFileNameToClassName = new HashMap<String,String>();
-
-    @Override
-    public void init( final List<String> params )
-    {
-        for( String className : params )
-        {
-            final StringBuilder buf = new StringBuilder();
-            
-            for( int i = 0, n = className.length(); i < n; i++ )
-            {
-                final char ch = className.charAt( i );
-                
-                if( ch == '.' )
-                {
-                    buf.append( '/' );
-                }
-                else
-                {
-                    buf.append( ch );
-                }
-            }
-            
-            buf.append( ".class" ); //$NON-NLS-1$
-            
-            final String classFileName = buf.toString();
-            this.classFileNames.add( classFileName );
-            this.classFileNameToClassName.put( classFileName, className );
-        }
-    }
-
-    @Override
-    public IStatus validate( final UserLibraryProviderInstallOperationConfig config )
-    {
-        final Map<String,Integer> classAppearanceCounts = new HashMap<String,Integer>();
-        
-        for( String classFileName : this.classFileNames )
-        {
-            classAppearanceCounts.put( classFileName, 0 );
-        }
-        
-        for( IClasspathEntry cpe : config.resolve() )
-        {
-            if( cpe.getEntryKind() == IClasspathEntry.CPE_LIBRARY )
-            {
-                final File file = cpe.getPath().toFile();
-                
-                if( file.exists() )
-                {
-                    ZipFile zip = null;
-                    
-                    try
-                    {
-                        zip = new ZipFile( file );
-                        
-                        for( Enumeration<? extends ZipEntry> itr = zip.entries(); itr.hasMoreElements(); )
-                        {
-                            final ZipEntry zipEntry = itr.nextElement();
-                            final String name = zipEntry.getName();
-                            
-                            Integer count = classAppearanceCounts.get( name );
-                            
-                            if( count != null )
-                            {
-                                classAppearanceCounts.put( name, count + 1 );
-                            }
-                        }
-                    }
-                    catch( IOException e )
-                    {
-                        
-                    }
-                    finally
-                    {
-                        if( zip != null )
-                        {
-                            try
-                            {
-                                zip.close();
-                            }
-                            catch( IOException e ) {}
-                        }
-                    }
-                }
-            }
-        }
-        
-        for( Map.Entry<String,Integer> entry : classAppearanceCounts.entrySet() )
-        {
-            final int count = entry.getValue();
-            
-            if( count != 1 )
-            {
-                final String classFileName = entry.getKey();
-                final String className = this.classFileNameToClassName.get( classFileName );
-                final String message;
-                
-                if( count == 0 )
-                {
-                    message = Resources.bind( Resources.classNotFound, className );
-                }
-                else
-                {
-                    message = Resources.bind( Resources.classPresentMultipleTimes, className );
-                }
-                
-                return new Status( IStatus.ERROR, PLUGIN_ID, message );
-            }
-        }
-        
-        return Status.OK_STATUS;
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String classNotFound;
-        public static String classPresentMultipleTimes;
-        
-        static
-        {
-            initializeMessages( KeyClassesValidator.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/KeyClassesValidator.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/KeyClassesValidator.properties
deleted file mode 100644
index 492def7..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/KeyClassesValidator.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-classNotFound = Required class {0} does not exist in selected libraries.
-classPresentMultipleTimes = Found multiple versions of the required class {0}. 
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperation.java
deleted file mode 100644
index 5cedc7f..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperation.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig.PREFS_LAST_USED_LIBRARIES;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.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.jst.common.project.facet.core.internal.ClasspathUtil;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * The install operation corresponding to the user-library-provider that uses JDT user library facility
- * for managing libraries. This class can be subclassed by those wishing to extend the base implementation
- * supplied by the framework.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class UserLibraryProviderInstallOperation
-
-    extends LibraryProviderOperation
-    
-{
-    /**
-     * Runs the library provider operation. Subclasses can override.
-     * 
-     * @param config the library provider operation config; will never be null
-     * @param monitor the progress monitor for status reporting and cancellation
-     * @throws CoreException if failed while executing the operation
-     */
-    
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        beginTask( monitor, "", 2 ); //$NON-NLS-1$
-        
-        try
-        {
-            final UserLibraryProviderInstallOperationConfig cfg
-                = (UserLibraryProviderInstallOperationConfig) config;
-            
-            final List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
-            
-            for( String libraryName : cfg.getLibraryNames() )
-            {
-                entries.add( createClasspathEntry( cfg, libraryName ) );
-            }
-            
-            final IProject project = config.getFacetedProject().getProject();
-            ClasspathUtil.addClasspathEntries( project, config.getProjectFacet(), entries );
-            
-            worked( monitor, 1 );
-            
-            try
-            {
-                Preferences prefs = FacetedProjectFramework.getPreferences( cfg.getProjectFacet() );
-                
-                prefs = prefs.node( PREFS_LAST_USED_LIBRARIES );
-                prefs = prefs.node( cfg.getProjectFacetVersion().getVersionString() );
-                
-                for( String libraryName : prefs.childrenNames() )
-                {
-                    prefs.node( libraryName ).removeNode();
-                }
-                
-                for( String libraryName : cfg.getLibraryNames() )
-                {
-                    prefs.node( libraryName );
-                }
-
-                prefs.flush();
-            }
-            catch( BackingStoreException e )
-            {
-                log( e );
-            }
-            
-            worked( monitor, 2 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-    
-    /**
-     * Constructs a classpath entry for the provided user library. Subclasses can override.
-     * 
-     * @param config the user library provider install operation config
-     * @param libraryName the name of a JDT user library
-     * @return the classpath entry for the provided user library
-     */
-    
-    protected IClasspathEntry createClasspathEntry( final UserLibraryProviderInstallOperationConfig config,
-                                                    final String libraryName )
-    {
-        final IPath containerPath = new Path( JavaCore.USER_LIBRARY_CONTAINER_ID ).append( libraryName );
-        return JavaCore.newContainerEntry( containerPath );
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperationConfig.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperationConfig.java
deleted file mode 100644
index a772390..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperationConfig.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.createErrorStatus;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.instantiate;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.UserLibrary;
-import org.eclipse.jdt.internal.core.UserLibraryManager;
-import org.eclipse.jst.common.project.facet.core.internal.ClasspathUtil;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderFramework;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderInstallOperationConfig;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * The install operation config corresponding to the user-library-provider that uses JDT user library facility
- * for managing libraries. This class can be subclassed by those wishing to extend the base implementation
- * supplied by the framework.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-@SuppressWarnings( "restriction" )
-
-public class UserLibraryProviderInstallOperationConfig
-
-    extends LibraryProviderInstallOperationConfig
-    
-{
-    private static final String CLASS_NAME 
-        = UserLibraryProviderInstallOperationConfig.class.getName();
-    
-    /**
-     * The preferences path (in the workspace-level facet preferences) where information about
-     * user libraries that were last used for a particular facet are stored. Beneath this path,
-     * content is organized by facet version.
-     */
-    
-    public static final String PREFS_LAST_USED_LIBRARIES
-        = "user.library.provider/last.used.libraries"; //$NON-NLS-1$
-
-    /**
-     * The property corresponding to the list of selected user libraries.
-     */
-    
-    public static final String PROP_LIBRARY_NAMES 
-        = CLASS_NAME + ".LIBRARY_NAMES"; //$NON-NLS-1$
-    
-    private static final String PARAM_VALIDATOR = "validator"; //$NON-NLS-1$
-    private static final String PARAM_VALIDATOR_PARAM = "validator.param"; //$NON-NLS-1$
-
-    private List<String> libraryNames;
-    private List<String> libraryNamesReadOnly;
-    private UserLibraryValidator validator;
-    
-    /**
-     * Constructs the user library provider install operation config.
-     */
-    
-    public UserLibraryProviderInstallOperationConfig()
-    {
-        this.libraryNames = Collections.emptyList();
-        this.libraryNamesReadOnly = Collections.emptyList();
-        this.validator = null;
-    }
-
-    /**
-     * Initializes the operation config. This method is called soon after the provider
-     * is instantiated. Extenders can override in order to add to the initialization, but
-     * have make sure to forward the init call up the inheritance chain.
-     * 
-     * @param fpj the faceted project (or a working copy)
-     * @param fv the project facet that is making the request for libraries
-     * @param provider the library provider (useful if the same operation config class
-     *   is re-used between multiple providers)
-     */
-    
-    @Override
-    public synchronized void init( final IFacetedProjectBase fproj,
-                                   final IProjectFacetVersion fv,
-                                   final ILibraryProvider provider )
-    {
-        super.init( fproj, fv, provider );
-        
-        final Map<String,String> params = provider.getParams();
-        final String validatorClassName = params.get( PARAM_VALIDATOR );
-        
-        if( validatorClassName != null )
-        {
-            this.validator = instantiate( provider.getPluginId(), validatorClassName, UserLibraryValidator.class );
-            
-            if( this.validator != null )
-            {
-                final List<String> keyClassNames = new ArrayList<String>();
-                
-                int i = 0; 
-                String paramName = PARAM_VALIDATOR_PARAM + "." + String.valueOf( i ); //$NON-NLS-1$
-                String paramValue = params.get( paramName );
-                
-                while( paramValue != null )
-                {
-                    keyClassNames.add( paramValue );
-    
-                    i++; 
-                    paramName = PARAM_VALIDATOR_PARAM + "." + String.valueOf( i ); //$NON-NLS-1$
-                    paramValue = params.get( paramName );
-                }
-                
-                try
-                {
-                    this.validator.init( keyClassNames );
-                }
-                catch( Exception e )
-                {
-                    log( e );
-                    this.validator = null;
-                }
-            }
-        }
-        
-        reset();
-    }
-    
-    /**
-     * Returns the list of user libraries that are currently selected. To listen for changes
-     * to this list use PROP_LIBRARY_NAMES.
-     * 
-     * @return the list of user libraries that are currently selected
-     */
-
-    public synchronized final List<String> getLibraryNames()
-    {
-        return this.libraryNamesReadOnly;
-    }
-    
-    /**
-     * Sets the list of user libraries. 
-     * 
-     * @param libraryNames the list of user library names
-     */
-    
-    public synchronized final void setLibraryNames( final List<String> libraryNames )
-    {
-        final List<String> oldLibraryNames = this.libraryNamesReadOnly;
-        this.libraryNames = new ArrayList<String>( libraryNames );
-        this.libraryNamesReadOnly = Collections.unmodifiableList( this.libraryNames );
-        notifyListeners( PROP_LIBRARY_NAMES, oldLibraryNames, this.libraryNamesReadOnly );
-    }
-    
-    /**
-     * Adds a library to the list of selected user libraries.
-     * 
-     * @param libraryName the name of the library
-     */
-    
-    public synchronized final void addLibraryName( final String libraryName )
-    {
-        if( ! this.libraryNamesReadOnly.contains( libraryName ) )
-        {
-            final List<String> oldLibraryNames = this.libraryNamesReadOnly;
-            this.libraryNames = new ArrayList<String>( oldLibraryNames );
-            this.libraryNamesReadOnly = Collections.unmodifiableList( this.libraryNames );
-            this.libraryNames.add( libraryName );
-            notifyListeners( PROP_LIBRARY_NAMES, oldLibraryNames, this.libraryNamesReadOnly );
-        }
-    }
-    
-    /**
-     * Resolve the referenced user libraries into a collection of classpath entries that reference
-     * physical libraries. 
-     * 
-     * @return the classpath entries contributed by the referenced user libraries
-     */
-    
-    public synchronized Collection<IClasspathEntry> resolve()
-    {
-        final List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
-        final UserLibraryManager userLibraryManager = JavaModelManager.getUserLibraryManager();
-        
-        for( String libraryName : this.libraryNames )
-        {
-            final UserLibrary userLibrary = userLibraryManager.getUserLibrary( libraryName );
-            
-            if( userLibrary != null )
-            {
-                for( IClasspathEntry cpe : userLibrary.getEntries() )
-                {
-                    entries.add( cpe );
-                }
-            }
-        }
-        
-        return Collections.unmodifiableCollection( entries );
-    }
-    
-    /**
-     * Validates the state of this operation config object and returns a status object
-     * describing any problems. If no problems are detected, this should return OK
-     * status.
-     * 
-     * @return the result of validating this operation config
-     */
-    
-    @Override
-    public synchronized IStatus validate()
-    {
-        IStatus st = Status.OK_STATUS;
-        
-        if( this.libraryNames.size() == 0 )
-        {
-            st = createErrorStatus( Resources.libraryNeedsToBeSelected );
-        }
-        else
-        {
-            if( this.validator != null )
-            {
-                try
-                {
-                    st = this.validator.validate( this );
-                }
-                catch( Exception e )
-                {
-                    log( e );
-                    this.validator = null;
-                }
-            }
-        }
-        
-        return st;
-    }
-    
-    /**
-     * Resets this operation config to its initial state (prior to any user changes).
-     */
-
-    @Override
-    public synchronized void reset()
-    {
-        final IProject project = getFacetedProject().getProject();
-        final IProjectFacet f = getProjectFacet();
-        final IProjectFacetVersion fv = getProjectFacetVersion();
-        
-        List<String> newLibraryNames = null;
-
-        if( project != null )
-        {
-            final ILibraryProvider currentProvider 
-                = LibraryProviderFramework.getCurrentProvider( project, f );
-            
-            if( currentProvider == getLibraryProvider() )
-            {
-                final List<IClasspathEntry> entries;
-                
-                try
-                {
-                    entries = ClasspathUtil.getClasspathEntries( project, f );
-                }
-                catch( CoreException e )
-                {
-                    throw new RuntimeException( e );
-                }
-                
-                final List<String> libraryNamesList = new ArrayList<String>();
-
-                for( IClasspathEntry cpe : entries )
-                {
-                    if( cpe.getEntryKind() == IClasspathEntry.CPE_CONTAINER )
-                    {
-                        final IPath path = cpe.getPath();
-                        
-                        if( path.segmentCount() >= 2 && path.segment( 0 ).equals( JavaCore.USER_LIBRARY_CONTAINER_ID ) )
-                        {
-                            libraryNamesList.add( path.segment( 1 ) );
-                        }
-                    }
-                }
-                
-                newLibraryNames = libraryNamesList;
-            }
-        }
-        
-        if( newLibraryNames == null )
-        {
-            newLibraryNames = new ArrayList<String>();
-            
-            try
-            {
-                Preferences prefs = FacetedProjectFramework.getPreferences( f );
-                
-                if( prefs.nodeExists( PREFS_LAST_USED_LIBRARIES ) )
-                {
-                    prefs = prefs.node( PREFS_LAST_USED_LIBRARIES );
-                    
-                    if( prefs.nodeExists( fv.getVersionString() ) )
-                    {
-                        prefs = prefs.node( fv.getVersionString() );
-                        
-                        for( String libraryName : prefs.childrenNames() )
-                        {
-                            newLibraryNames.add( libraryName );
-                        }
-                    }
-                }
-            }
-            catch( BackingStoreException e )
-            {
-                log( e );
-            }
-        }
-        
-        setLibraryNames( newLibraryNames );
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String libraryNeedsToBeSelected;
-
-        static
-        {
-            initializeMessages( UserLibraryProviderInstallOperationConfig.class.getName(), 
-                                Resources.class );
-        }
-    }
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperationConfig.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperationConfig.properties
deleted file mode 100644
index 5d34536..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderInstallOperationConfig.properties
+++ /dev/null
@@ -1 +0,0 @@
-libraryNeedsToBeSelected = At least one user library must be selected.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderUninstallOperation.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderUninstallOperation.java
deleted file mode 100644
index 70316c6..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryProviderUninstallOperation.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user;
-
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.beginTask;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.done;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ProgressMonitorUtil.worked;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jst.common.project.facet.core.internal.ClasspathUtil;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperation;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-
-/**
- * The uninstall operation corresponding to the user-library-provider that uses JDT user library facility
- * for managing libraries. This class can be subclassed by those wishing to extend the base implementation
- * supplied by the framework.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class UserLibraryProviderUninstallOperation
-
-    extends LibraryProviderOperation
-    
-{
-    /**
-     * Runs the library provider operation. Subclasses can override.
-     * 
-     * @param config the library provider operation config; will never be null
-     * @param monitor the progress monitor for status reporting and cancellation
-     * @throws CoreException if failed while executing the operation
-     */
-    
-    public void execute( final LibraryProviderOperationConfig config,
-                         final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        beginTask( monitor, "", 1 ); //$NON-NLS-1$
-        
-        try
-        {
-            final IProject project = config.getFacetedProject().getProject();
-            ClasspathUtil.removeClasspathEntries( project, config.getProjectFacet() );
-            
-            worked( monitor, 1 );
-        }
-        finally
-        {
-            done( monitor );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryValidator.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryValidator.java
deleted file mode 100644
index f60161c..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/UserLibraryValidator.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>Used to provide custom validation for user library providers. To associate a validator 
- * with a user library provider declaration, use syntax like the following. Only one validator
- * can be registered per provider, but any number of validator parameters can be specified using 
- * naming convention starting with 0.</p>
- *
- * <pre>&lt;extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
- *   &lt;provider id="..." extends="user-library-provider">
- *     ...
- *     &lt;param name="validator" value="org.eclipse.jst.common.project.facet.core.libprov.user.KeyClassesValidator"/>
- *     &lt;param name="validator.param.0" value="javax.persistence.Entity"/>
- *     ...
- *   &lt;/provider>
- * &lt;/extension></pre>
- * 
- * @see KeyClassesValidator
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public abstract class UserLibraryValidator
-{
-    /**
-     * Called by the framework to initialize the validator. The list of parameters is computed
-     * based on values of library provider parameters with names that follow "validator.param.x"
-     * convention, where 'x' is a number starting with 0.
-     * 
-     * <p>The default implementation does not do anything.</p>
-     * 
-     * @param params the validator parameters
-     */
-    
-    public void init( final List<String> params )
-    {
-    }
-
-    /**
-     * Called by the framework to validate the user library provider install operation config.
-     * 
-     * @param config the user library provider install operation config
-     * @return result of validation
-     */
-    
-    public abstract IStatus validate( final UserLibraryProviderInstallOperationConfig config );
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrariesExtensionPoint.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrariesExtensionPoint.java
deleted file mode 100644
index b649c65..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrariesExtensionPoint.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user.internal;
-
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.PLUGIN_ID;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.createErrorStatus;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.log;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.logError;
-import static org.eclipse.wst.common.project.facet.core.util.internal.DomUtil.doc;
-import static org.eclipse.wst.common.project.facet.core.util.internal.DomUtil.elements;
-import static org.eclipse.wst.common.project.facet.core.util.internal.DomUtil.text;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findExtensions;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findOptionalElement;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.getTopLevelElements;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.common.project.facet.core.libprov.EnablementExpressionContext;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.util.internal.XmlParseException;
-import org.osgi.framework.Bundle;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Contains the logic for processing the <code>downloadableLibraries</code> extension point. 
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class DownloadableLibrariesExtensionPoint
-{
-    public static final String EXTENSION_POINT_ID = "downloadableLibraries"; //$NON-NLS-1$
-    
-    private static final String ATTR_PATH = "path"; //$NON-NLS-1$
-    private static final String ATTR_URL = "url"; //$NON-NLS-1$
-    private static final String EL_IMPORT_DEFINITIONS = "import-definitions"; //$NON-NLS-1$
-    private static final String EL_ENABLEMENT = "enablement"; //$NON-NLS-1$
-    
-    private static final String EL_LIBRARY = "library"; //$NON-NLS-1$
-    private static final String EL_NAME = "name"; //$NON-NLS-1$
-    private static final String EL_DOWNLOAD_PROVIDER = "download-provider"; //$NON-NLS-1$
-    private static final String EL_DOWNLOAD_URL = "download-url"; //$NON-NLS-1$
-    private static final String EL_LICENSE_URL = "license-url"; //$NON-NLS-1$
-    private static final String EL_INCLUDE = "include"; //$NON-NLS-1$
-    private static final String EL_EXCLUDE = "exclude"; //$NON-NLS-1$
-    private static final String EL_ATTRIBUTES = "attributes"; //$NON-NLS-1$
-    private static final String EL_COMPONENT = "component"; //$NON-NLS-1$
-    private static final String EL_SOURCE = "source"; //$NON-NLS-1$
-    private static final String EL_JAVADOC = "javadoc"; //$NON-NLS-1$
-
-    private static final String EXPR_VAR_CONTEXT = "context"; //$NON-NLS-1$
-    private static final String EXPR_VAR_REQUESTING_PROJECT_FACET = "requestingProjectFacet"; //$NON-NLS-1$
-    private static final String EXPR_VAR_PROJECT_FACETS = "projectFacets"; //$NON-NLS-1$
-    private static final String EXPR_VAR_TARGETED_RUNTIMES = "targetedRuntimes"; //$NON-NLS-1$
-    private static final String EXPR_VAR_PROVIDER = "provider"; //$NON-NLS-1$
-
-    public static List<DownloadableLibrary> list( final UserLibraryProviderInstallOperationConfig cfg,
-                                                  final IProgressMonitor monitor )
-    {
-        final IProgressMonitor mon = ( monitor != null ? monitor : new NullProgressMonitor() );
-        
-        mon.beginTask( Resources.searchingForLibrariesTaskName, IProgressMonitor.UNKNOWN );
-        
-        try
-        {
-            final List<DownloadableLibrary> libraries = new ArrayList<DownloadableLibrary>();
-            
-            for( IConfigurationElement element 
-                 : getTopLevelElements( findExtensions( PLUGIN_ID, EXTENSION_POINT_ID ) ) )
-            {
-                if( mon.isCanceled() )
-                {
-                    return null;
-                }
-                
-                final String pluginId = element.getContributor().getName();
-                
-                if( element.getName().equals( EL_IMPORT_DEFINITIONS ) )
-                {
-                    final IConfigurationElement elEnablement = findOptionalElement( element, EL_ENABLEMENT );
-                    
-                    if( elEnablement != null )
-                    {
-                        try
-                        {
-                            final Expression expr 
-                                = ExpressionConverter.getDefault().perform( elEnablement );
-                            
-                            final EvaluationContext context
-                                = createEvaluationContext( cfg.getFacetedProject(), cfg.getProjectFacetVersion(), 
-                                                           cfg.getLibraryProvider() );
-                            
-                            if( expr.evaluate( context ) != EvaluationResult.TRUE )
-                            {
-                                continue;
-                            }
-                        }
-                        catch( CoreException e )
-                        {
-                            log( e );
-                            break;
-                        }
-                    }
-                    
-                    URL url = null;
-                    
-                    final String pathAttr = element.getAttribute( ATTR_PATH );
-                    final String urlAttr = element.getAttribute( ATTR_URL );
-                    
-                    if( pathAttr != null )
-                    {
-                        final Bundle plugin = Platform.getBundle( pluginId );
-                        url = FileLocator.find( plugin, new Path( pathAttr ), null );
-                        
-                        if( url == null )
-                        {
-                            final String msg = NLS.bind( Resources.errorPluginResourceNotFound, pluginId, pathAttr );
-                            logError( msg );
-                            continue;
-                        }
-                    }
-                    else if( urlAttr != null )
-                    {
-                        try
-                        {
-                            url = new URL( urlAttr );
-                        }
-                        catch( MalformedURLException e )
-                        {
-                            final String msg = NLS.bind( Resources.errorMalformedUrl, pluginId, urlAttr );
-                            log( createErrorStatus( msg, e ) );
-                            continue;
-                        }
-                    }
-                    else
-                    {
-                        final String msg = NLS.bind( Resources.errorMissingPathOrUrl, pluginId );
-                        logError( msg );
-                        continue;
-                    }
-                    
-                    readLibraryDefinitions( url, libraries );
-                }
-            }
-            
-            return libraries;
-        }
-        finally
-        {
-            mon.done();
-        }
-    }
-    
-    private static EvaluationContext createEvaluationContext( final IFacetedProjectBase fproj,
-                                                              final IProjectFacetVersion fv,
-                                                              final ILibraryProvider provider )
-    {
-        final EvaluationContext evalContext = new EvaluationContext( null, fv );
-        final EnablementExpressionContext context = new EnablementExpressionContext( fproj, fv, provider );
-        evalContext.addVariable( EXPR_VAR_CONTEXT, context );
-        evalContext.addVariable( EXPR_VAR_REQUESTING_PROJECT_FACET, fv );
-        evalContext.addVariable( EXPR_VAR_PROJECT_FACETS, fproj.getProjectFacets() );
-        evalContext.addVariable( EXPR_VAR_TARGETED_RUNTIMES, fproj.getTargetedRuntimes() );
-        evalContext.addVariable( EXPR_VAR_PROVIDER, provider );        
-        evalContext.setAllowPluginActivation( true );
-    
-        return evalContext;
-    }
-    
-    private static void readLibraryDefinitions( final URL url,
-                                                final List<DownloadableLibrary> libraries )
-    {
-        Document document = null;
-        InputStream in = null;
-        
-        try
-        {
-            in = url.openStream();
-        }
-        catch( IOException e )
-        {
-            final String msg = NLS.bind( Resources.errorReadingDefFile, url.toString() );
-            log( createErrorStatus( msg, e ) );
-            return;
-        }
-        
-        try
-        {
-            document = doc( in );
-        }
-        catch( XmlParseException e )
-        {
-            final String msg = NLS.bind( Resources.errorParsingDefFile, url.toString() );
-            log( createErrorStatus( msg, e ) );
-            return;
-        }
-        finally
-        {
-            try
-            {
-                in.close();
-            }
-            catch( IOException e ) {}
-        }
-        
-        if( document != null )
-        {
-            final Element root = document.getDocumentElement();
-            
-            if( root != null )
-            {
-                for( Element elLibrary : elements( root, EL_LIBRARY ) )
-                {
-                    try
-                    {
-                        final DownloadableLibrary library = new DownloadableLibrary();
-                        
-                        final String name = getRequiredElementText( url, elLibrary, EL_NAME );
-                        library.setName( name );
-                        
-                        final String provider = getRequiredElementText( url, elLibrary, EL_DOWNLOAD_PROVIDER );
-                        library.setDownloadProvider( provider );
-                        
-                        final String downloadUrl = getRequiredElementText( url, elLibrary, EL_DOWNLOAD_URL );
-                        library.setUrl( downloadUrl );
-                        
-                        final String licenseUrl = text( elLibrary, EL_LICENSE_URL );
-                        library.setLicenseUrl( licenseUrl );
-                        
-                        for( Element elInclude : elements( elLibrary, EL_INCLUDE ) )
-                        {
-                            library.addIncludePattern( text( elInclude ) );
-                        }
-
-                        for( Element elExclude : elements( elLibrary, EL_EXCLUDE ) )
-                        {
-                            library.addExcludePattern( text( elExclude ) );
-                        }
-                        
-                        for( Element elAttachment : elements( elLibrary, EL_ATTRIBUTES ) )
-                        {
-                            final String jarPath = getRequiredElementText( url, elAttachment, EL_COMPONENT );
-                            
-                            final DownloadableLibraryComponentAttributes attachment 
-                                = library.getComponentAttributes( new Path( jarPath ), true );
-                            
-                            final String sourceArchivePath = text( elAttachment, EL_SOURCE );
-                            attachment.setSourceArchivePath( sourceArchivePath );
-                            
-                            final String javadocArchivePath = text( elAttachment, EL_JAVADOC );
-                            attachment.setJavadocArchivePath( javadocArchivePath );
-                        }
-                        
-                        libraries.add( library );
-                    }
-                    catch( InvalidLibraryDefinitionException e )
-                    {
-                        // Bad library definition. Problem already reported to the user in the log,
-                        // so we just need to continue gracefully.
-                        
-                        continue;
-                    }
-                }
-            }
-        }
-    }
-    
-    private static String getRequiredElementText( final URL url,
-                                                  final Element parent,
-                                                  final String childElementName )
-    
-        throws InvalidLibraryDefinitionException
-        
-    {
-        final String val = text( parent, childElementName );
-        
-        if( val == null )
-        {
-            final String msg = NLS.bind( Resources.errorDefMissingElement, childElementName, url.toString() );
-            logError( msg );
-            throw new InvalidLibraryDefinitionException();
-        }
-        
-        return val;
-    }
-    
-    private static class InvalidLibraryDefinitionException
-    
-        extends Exception
-        
-    {
-        private static final long serialVersionUID = 1L;
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String searchingForLibrariesTaskName;
-        public static String errorDefMissingElement;
-        public static String errorParsingDefFile;
-        public static String errorReadingDefFile;
-        public static String errorPluginResourceNotFound;
-        public static String errorMalformedUrl;
-        public static String errorMissingPathOrUrl;
-    
-        static
-        {
-            initializeMessages( DownloadableLibrariesExtensionPoint.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrariesExtensionPoint.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrariesExtensionPoint.properties
deleted file mode 100644
index a16ed31..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrariesExtensionPoint.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-searchingForLibrariesTaskName = Searching for libraries...
-errorDefMissingElement = The <{0}> element is missing or empty in the library definition at "{1}".
-errorParsingDefFile = Failed while parsing library definition file at "{0}".
-errorReadingDefFile = Failed while reading library definition file at "{0}".
-errorPluginResourceNotFound = Could not find resource "{1}" in plugin "{0}".
-errorMalformedUrl = Malformed URL "{1}" was specified in plugin "{0}".
-errorMissingPathOrUrl = Extension of downloadableLibraries in plugin "{0}" needs to specify either "path" or "url" attribute for the <library> element.
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrary.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrary.java
deleted file mode 100644
index 7f13774..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrary.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user.internal;
-
-import static org.eclipse.jdt.core.IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME;
-import static org.eclipse.jst.common.project.facet.core.internal.FacetedProjectFrameworkJavaPlugin.PLUGIN_ID;
-import static org.eclipse.wst.common.project.facet.core.util.internal.ZipUtil.unzip;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IAccessRule;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.UserLibraryManager;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-@SuppressWarnings( "restriction" )
-
-public final class DownloadableLibrary
-{
-    private String name;
-    private String downloadProvider;
-    private String url;
-    private String licenseUrl;
-    
-    private Map<IPath,DownloadableLibraryComponentAttributes> componentAttributesMap
-        = new HashMap<IPath,DownloadableLibraryComponentAttributes>();
-    
-    private final List<String> includePatterns = new ArrayList<String>();
-    private final List<String> includePatternsReadOnly = Collections.unmodifiableList( this.includePatterns );
-    private final List<String> excludePatterns = new ArrayList<String>();
-    private final List<String> excludePatternsReadOnly = Collections.unmodifiableList( this.excludePatterns );
-    
-    public String getName()
-    {
-        return this.name;
-    }
-    
-    public void setName( final String name )
-    {
-        this.name = name;
-    }
-    
-    public String getDownloadProvider()
-    {
-        return this.downloadProvider;
-    }
-    
-    public void setDownloadProvider( final String downloadProvider )
-    {
-        this.downloadProvider = downloadProvider;
-    }
-    
-    public String getUrl()
-    {
-        return this.url;
-    }
-    
-    public void setUrl( final String url )
-    {
-        this.url = url;
-    }
-    
-    public String getLicenseUrl()
-    {
-        return this.licenseUrl;
-    }
-    
-    public void setLicenseUrl( final String licenseUrl )
-    {
-        this.licenseUrl = licenseUrl;
-    }
-    
-    public DownloadableLibraryComponentAttributes getComponentAttributes( final IPath path )
-    {
-        return getComponentAttributes( path, false );
-    }
-    
-    public DownloadableLibraryComponentAttributes getComponentAttributes( final IPath path,
-                                                                          final boolean createIfNecessary )
-    {
-        DownloadableLibraryComponentAttributes attachment = this.componentAttributesMap.get( path );
-        
-        if( attachment == null && createIfNecessary )
-        {
-            attachment = new DownloadableLibraryComponentAttributes( path.toPortableString() );
-            this.componentAttributesMap.put( path, attachment );
-        }
-        
-        return attachment;
-    }
-    
-    public Collection<String> getIncludePatterns()
-    {
-        return this.includePatternsReadOnly;
-    }
-    
-    public void addIncludePattern( final String includePattern )
-    {
-        if( includePattern == null )
-        {
-            return;
-        }
-        
-        for( String segment : includePattern.split( "," ) ) //$NON-NLS-1$
-        {
-            segment = segment.trim();
-            
-            if( segment.length() > 0 )
-            {
-                this.includePatterns.add( segment );
-            }
-        }
-    }
-        
-    public Collection<String> getExcludePatterns()
-    {
-        return this.excludePatternsReadOnly;
-    }
-    
-    public void addExcludePattern( final String excludePattern )
-    {
-        if( excludePattern == null )
-        {
-            return;
-        }
-        
-        for( String segment : excludePattern.split( "," ) ) //$NON-NLS-1$
-        {
-            segment = segment.trim();
-            
-            if( segment.length() > 0 )
-            {
-                this.excludePatterns.add( segment );
-            }
-        }
-    }
-        
-    public void download( final File destFolder,
-                          final String localLibraryName,
-                          final IProgressMonitor monitor )
-    
-        throws CoreException, InterruptedException
-        
-    {
-        try 
-        {
-            // Create the directory where the downloaded archive will be written to
-            // and where the exploded library will reside.
-            
-            destFolder.mkdirs();
-            
-            // Make sure that destination folder is empty and clear it out if necessary.
-            
-            for( File f : destFolder.listFiles() )
-            {
-                delete( f );
-            }
-
-            // Define the temporary download file.
-            
-            final File destFile = new File( destFolder, "download.zip" ); //$NON-NLS-1$
-            
-            // Perform the download.
-                
-            download( new URL( this.url ), destFile, monitor );
-            
-            // Unzip the downloaded file.
-
-            unzip( destFile, destFolder, monitor );
-            
-            // Delete the original downloaded file.
-            
-            destFile.delete();
-            
-            // Configure the user library.
-            
-            final List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
-            final IPath destFolderPath = new Path( destFolder.getPath() );
-            
-            for( File jarFile : findAllJarFiles( destFolder ) )
-            {
-                final IPath jarPath = new Path( jarFile.getPath() );
-                final IPath relativeJarPath = jarPath.makeRelativeTo( destFolderPath );
-                
-                if( ! shouldInclude( relativeJarPath ) )
-                {
-                    continue;
-                }
-                
-                IPath sourceArchivePath = null;
-                String javadocArchivePath = null;
-
-                final DownloadableLibraryComponentAttributes attachment = getComponentAttributes( relativeJarPath );
-                
-                if( attachment != null )
-                {
-                    final String sourceArchivePathString = attachment.getSourceArchivePath();
-                    
-                    if( sourceArchivePathString != null )
-                    {
-                        sourceArchivePath = destFolderPath.append( sourceArchivePathString );
-                    }
-                    
-                    javadocArchivePath = attachment.getJavadocArchivePath();
-                    
-                    if( javadocArchivePath != null )
-                    {
-                        final int separator = javadocArchivePath.indexOf( '!' );
-                        final IPath pathInArchive;
-                        
-                        if( separator == -1 )
-                        {
-                            pathInArchive = null;
-                        }
-                        else
-                        {
-                            pathInArchive = new Path( javadocArchivePath.substring( separator + 1 ) );
-                            javadocArchivePath = javadocArchivePath.substring( 0, separator );
-                        }
-                        
-                        final IPath p = destFolderPath.append( javadocArchivePath );
-                        
-                        if( pathInArchive != null || p.toFile().isFile() )
-                        {
-                            javadocArchivePath = "jar:file:/" + p.toPortableString() + "!/"; //$NON-NLS-1$ //$NON-NLS-2$
-                            
-                            if( javadocArchivePath != null )
-                            {
-                                javadocArchivePath = javadocArchivePath + pathInArchive.toPortableString() + "/"; //$NON-NLS-1$
-                            }
-                        }
-                        else
-                        {
-                            javadocArchivePath = "file:/" + p.toPortableString() + "/"; //$NON-NLS-1$ //$NON-NLS-2$
-                        }
-                    }
-                }
-                
-                final IClasspathEntry cpe = newLibraryEntry( jarPath, sourceArchivePath, javadocArchivePath );
-                entries.add( cpe );
-            }
-            
-            final IClasspathEntry[] entriesArray 
-                = entries.toArray( new IClasspathEntry[ entries.size() ] );
-            
-            final UserLibraryManager userLibraryManager = JavaModelManager.getUserLibraryManager();
-            userLibraryManager.setUserLibrary( localLibraryName, entriesArray, false );
-        }
-        catch( IOException e )
-        {
-            final IStatus st = new Status( IStatus.ERROR, PLUGIN_ID, Resources.failedWhileDownloading, e );
-            throw new CoreException( st );
-        }
-    }
-    
-    private void download( final URL url,
-                           final File destFile,
-                           final IProgressMonitor monitor )
-    
-        throws IOException, InterruptedException
-        
-    {
-        monitor.setTaskName( Resources.progressConnecting );
-        
-        final URLConnection urlConnection = url.openConnection();
-        final int size = urlConnection.getContentLength();
-        
-        final String totalSizeString;
-        
-        if( size == -1 )
-        {
-            totalSizeString = null;
-            monitor.beginTask( Resources.progressTransferStarted, IProgressMonitor.UNKNOWN );
-        }
-        else
-        {
-            totalSizeString = formatByteCount( size );
-            monitor.beginTask( Resources.progressTransferStarted, size );
-        }
-        
-        InputStream in = null;
-        FileOutputStream out = null;
-        
-        try
-        {
-            in = urlConnection.getInputStream();
-            out = new FileOutputStream( destFile );
-            
-            final byte[] buffer = new byte[ 16 * 1024 ];
-            
-            int count = 0;
-            int bytesTransfered = 0;
-            
-            while( ( count = in.read( buffer ) ) != -1 )
-            {
-                if( monitor.isCanceled() )
-                {
-                    throw new InterruptedException();
-                }
-                
-                out.write( buffer, 0, count );
-                bytesTransfered += count;
-                
-                monitor.worked( count );
-                monitor.setTaskName( formatDownloadProgressMessage( bytesTransfered, totalSizeString ) );
-            }
-        }
-        finally
-        {
-            if( in != null )
-            {
-                try
-                {
-                    in.close();
-                }
-                catch( IOException e ) {}
-            }
-            
-            if( out != null )
-            {
-                try
-                {
-                    out.close();
-                }
-                catch( IOException e ) {}
-            }
-            
-            monitor.done();
-        }
-    }
-    
-    private boolean shouldInclude( final IPath path )
-    {
-        if( ! this.includePatterns.isEmpty() )
-        {
-            boolean included = false;
-            
-            for( String pattern : this.includePatterns )
-            {
-                if( path.equals( new Path( pattern ) ) )
-                {
-                    included = true;
-                    break;
-                }
-            }
-            
-            if( ! included )
-            {
-                return false;
-            }
-        }
-        
-        for( String pattern : this.excludePatterns )
-        {
-            if( path.equals( new Path( pattern ) ) )
-            {
-                return false;
-            }
-        }
-        
-        return true;
-    }
-    
-    private String formatByteCount( final int byteCount )
-    {
-        if( byteCount < 1024 * 1024 )
-        {
-            return String.format( "%3.0f KB", ( (float) byteCount ) / 1024 ); //$NON-NLS-1$
-        }
-        else
-        {
-            return String.format( "%.1f MB" , ( (float) byteCount ) / ( 1024 * 1024 ) ); //$NON-NLS-1$
-        }
-    }
-    
-    private String formatDownloadProgressMessage( final int bytesTransfered,
-                                                  final String totalSizeString )
-    {
-        final String bytesTransferedString = formatByteCount( bytesTransfered );
-        
-        if( totalSizeString != null )
-        {
-            return NLS.bind( Resources.progressTransferred, bytesTransferedString, totalSizeString );
-        }
-        else
-        {
-            return NLS.bind( Resources.progressTransferredNoTotalSize, bytesTransferedString );
-        }
-    }
-    
-    private static void delete( final File f )
-
-        throws IOException
-    
-    {
-        if( f.isDirectory() )
-        {
-            for( File child : f.listFiles() )
-            {
-                delete( child );
-            }
-        }
-    
-        if( ! f.delete() )
-        {
-            final String msg = NLS.bind( Resources.errorCouldNotDelete, f.getPath() );
-            throw new IOException( msg );
-        }
-    }
-    
-    private static List<File> findAllJarFiles( final File directory )
-    {
-        final List<File> result = new ArrayList<File>();
-        findAllJarFiles( directory, result );
-        return result;
-    }
-    
-    private static void findAllJarFiles( final File directory,
-                                         final List<File> result )
-    {
-        for( File f : directory.listFiles() )
-        {
-            if( f.isDirectory() )
-            {
-                findAllJarFiles( f, result );
-            }
-            else
-            {
-                final String fname = f.getName().toLowerCase();
-                
-                if( fname.endsWith( ".jar" ) ) //$NON-NLS-1$
-                {
-                    result.add( f );
-                }
-            }
-        }
-    }
-    
-    private static IClasspathEntry newLibraryEntry( final IPath library,
-                                                    final IPath src,
-                                                    final String javadoc )
-    {
-        final IAccessRule[] access = {};
-        
-        final IClasspathAttribute[] attrs;
-        
-        if( javadoc == null )
-        {
-            attrs = new IClasspathAttribute[ 0 ];
-        }
-        else
-        {
-            attrs = new IClasspathAttribute[]
-            { 
-               JavaCore.newClasspathAttribute( JAVADOC_LOCATION_ATTRIBUTE_NAME, javadoc )
-            };
-        }
-        
-        return JavaCore.newLibraryEntry( library, src, null, access, attrs, false );
-    }
-    
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String failedWhileDownloading;
-        public static String progressConnecting;
-        public static String progressTransferStarted;
-        public static String progressTransferred;
-        public static String progressTransferredNoTotalSize;
-        public static String errorCouldNotDelete;
-    
-        static
-        {
-            initializeMessages( DownloadableLibrary.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrary.properties b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrary.properties
deleted file mode 100644
index 823e343..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibrary.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-failedWhileDownloading = Failed while downloading library.
-progressConnecting = Connecting...
-progressTransferStarted = Transferring...
-progressTransferred = Transferred {0} of {1}
-progressTransferredNoTotalSize = Transferred {0}
-errorCouldNotDelete = Could not delete "{0}".
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibraryComponentAttributes.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibraryComponentAttributes.java
deleted file mode 100644
index 17b8698..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/libprov/user/internal/DownloadableLibraryComponentAttributes.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.core.libprov.user.internal;
-
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class DownloadableLibraryComponentAttributes
-{
-    private final String componentPath;
-    private String sourceArchivePath;
-    private String javadocArchivePath;
-    
-    public DownloadableLibraryComponentAttributes( final String componentPath )
-    {
-        this.componentPath = componentPath;
-    }
-    
-    public String getComponentPath()
-    {
-        return this.componentPath;
-    }
-    
-    public String getSourceArchivePath()
-    {
-        return this.sourceArchivePath;
-    }
-    
-    public void setSourceArchivePath( final String sourceArchivePath )
-    {
-        this.sourceArchivePath = sourceArchivePath;
-    }
-    
-    public String getJavadocArchivePath()
-    {
-        return this.javadocArchivePath;
-    }
-    
-    public void setJavadocArchivePath( final String javadocArchivePath )
-    {
-        this.javadocArchivePath = javadocArchivePath;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/.classpath b/plugins/org.eclipse.jst.common.project.facet.ui/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/.project b/plugins/org.eclipse.jst.common.project.facet.ui/.project
deleted file mode 100644
index 96fd01c..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.common.project.facet.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.jst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bcc26d6..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Wed Jan 31 15:32:12 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.project.facet.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index e5f0ac8..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jst.common.project.facet.ui;singleton:=true
-Bundle-Version: 1.4.100.qualifier
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.jst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.jdt.ui;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.4.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.jst.common.project.facet.ui.libprov,
- org.eclipse.jst.common.project.facet.ui.libprov.osgi,
- org.eclipse.jst.common.project.facet.ui.libprov.user
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/about.html b/plugins/org.eclipse.jst.common.project.facet.ui/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/build.properties b/plugins/org.eclipse.jst.common.project.facet.ui/build.properties
deleted file mode 100644
index 0f0deda..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               plugin.xml,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               images/,\
-               schemas/
-src.includes = about.html
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/bundle.png b/plugins/org.eclipse.jst.common.project.facet.ui/images/bundle.png
deleted file mode 100644
index dd9003b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/bundle.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/buttons/download.png b/plugins/org.eclipse.jst.common.project.facet.ui/images/buttons/download.png
deleted file mode 100644
index 0753f59..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/buttons/download.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/buttons/manage-libraries.gif b/plugins/org.eclipse.jst.common.project.facet.ui/images/buttons/manage-libraries.gif
deleted file mode 100644
index cb55e33..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/buttons/manage-libraries.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/java-facet.gif b/plugins/org.eclipse.jst.common.project.facet.ui/images/java-facet.gif
deleted file mode 100644
index 37cb4e7..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/java-facet.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/java-wizban.png b/plugins/org.eclipse.jst.common.project.facet.ui/images/java-wizban.png
deleted file mode 100644
index dcc8c15..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/java-wizban.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/objects/library.gif b/plugins/org.eclipse.jst.common.project.facet.ui/images/objects/library.gif
deleted file mode 100644
index cb55e33..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/objects/library.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/source-folder.gif b/plugins/org.eclipse.jst.common.project.facet.ui/images/source-folder.gif
deleted file mode 100644
index fca9c53..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/source-folder.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/standard-jre-component.gif b/plugins/org.eclipse.jst.common.project.facet.ui/images/standard-jre-component.gif
deleted file mode 100644
index cb55e33..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/standard-jre-component.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/images/wizban/download-library.png b/plugins/org.eclipse.jst.common.project.facet.ui/images/wizban/download-library.png
deleted file mode 100644
index 705dc30..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/images/wizban/download-library.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.properties b/plugins/org.eclipse.jst.common.project.facet.ui/plugin.properties
deleted file mode 100644
index c29b368..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = Eclipse Faceted Project Framework JDT Enablement UI
-providerName = Eclipse Web Tools Platform
-libraryProviderActionPanelsExtensionPointName = Library Provider Action Panels Extension Point
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.xml b/plugins/org.eclipse.jst.common.project.facet.ui/plugin.xml
deleted file mode 100644
index 88338cc..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/plugin.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <!-- 
-    **********************************
-    * Standard JRE Runtime Component *
-    **********************************
-  -->
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image 
-      runtime-component-type="standard.jre"
-      path="images/standard-jre-component.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
-    <adapter>
-      <runtime-component id="standard.jre"/>
-      <factory class="org.eclipse.jst.common.project.facet.ui.internal.StandardJreComponentLabelProvider$Factory"/>
-      <type class="org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider"/>
-    </adapter>
-  </extension>
-
-  <!-- 
-    **************
-    * Java Facet *
-    ************** 
-  -->
-         
-  <extension point="org.eclipse.wst.common.project.facet.ui.images">
-    <image 
-      facet="java" 
-      path="images/java-facet.gif"/>
-  </extension>
-
-  <extension point="org.eclipse.wst.common.project.facet.ui.wizardPages">
-    <wizard-pages action="java.install">
-      <page class="org.eclipse.jst.common.project.facet.ui.internal.JavaFacetInstallPage"/>
-    </wizard-pages>
-  </extension>
-  
-  <extension
-    point="org.eclipse.ui.ide.markerResolution">
-	<markerResolutionGenerator
-      markerType="org.eclipse.jst.common.project.facet.core.javaVersionMismatch"
-      class="org.eclipse.jst.common.project.facet.ui.internal.JavaVersionMismatchMarkerResolutions">
-    </markerResolutionGenerator>
-  </extension>
-
-  <!-- 
-    ******************************
-    * Library Provider Framework *
-    ******************************
-  -->
-         
-  <extension-point 
-    id="libraryProviderActionPanels" 
-    name="%libraryProviderActionPanelsExtensionPointName" 
-    schema="schemas/libraryProviderActionPanels.exsd"/>
-
-  <extension point="org.eclipse.jst.common.project.facet.ui.libraryProviderActionPanels">
-    <panel 
-      provider="user-library-provider"
-      class="org.eclipse.jst.common.project.facet.ui.libprov.user.UserLibraryProviderInstallPanel"/>
-    <panel
-      provider="runtime-library-provider"
-      class="org.eclipse.jst.common.project.facet.ui.libprov.SimpleMessageLibraryProviderInstallPanel"/>
-    <panel
-      provider="unknown-library-provider"
-      class="org.eclipse.jst.common.project.facet.ui.libprov.SimpleMessageLibraryProviderInstallPanel"/>
-    <panel 
-      provider="legacy-library-provider"
-      class="org.eclipse.jst.common.project.facet.ui.libprov.SimpleMessageLibraryProviderInstallPanel"/>
-    <panel 
-      provider="no-op-library-provider"
-      class="org.eclipse.jst.common.project.facet.ui.libprov.SimpleMessageLibraryProviderInstallPanel"/>
-    <panel 
-      provider="osgi-bundles-library-provider"
-      class="org.eclipse.jst.common.project.facet.ui.libprov.osgi.OsgiBundlesLibraryProviderInstallPanel"/>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/schemas/libraryProviderActionPanels.exsd b/plugins/org.eclipse.jst.common.project.facet.ui/schemas/libraryProviderActionPanels.exsd
deleted file mode 100644
index dc0c5ef..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/schemas/libraryProviderActionPanels.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.common.project.facet.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.jst.common.project.facet.ui" id="libraryProviderActionPanels" name="Library Provider Action Panels Extension Point"/>
-      </appinfo>
-      <documentation>
-         Provides a way to associate UI with library provider actions.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-         <documentation>
-            Allows registering one or more library provider action panels.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="panel" 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="panel">
-      <annotation>
-         <documentation>
-            Registers a single library provider action panel.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="provider" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Library provider id.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="identifier" basedOn="org.eclipse.jst.common.project.facet.core.libraryProviders/provider/@id"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  Implementation of the library provider action panel.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jst.common.project.facet.ui.libprov.LibraryProviderOperationPanel:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         WTP 3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;The following example registers an install action panel for a previously-declared library provider:&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.jst.common.project.facet.ui.libraryProviderActionPanels&quot;&gt;
-  &lt;panel 
-    provider=&quot;some-library-provider&quot;
-    class=&quot;com.mycompany.SomeLibraryProviderInstallPanel&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2010 Oracle 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.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/FacetedProjectFrameworkJavaExtUiPlugin.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/FacetedProjectFrameworkJavaExtUiPlugin.java
deleted file mode 100644
index 6ae37fa..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/FacetedProjectFrameworkJavaExtUiPlugin.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetedProjectFrameworkJavaExtUiPlugin 
-{
-    public static final String PLUGIN_ID = "org.eclipse.jst.common.project.facet.ui"; //$NON-NLS-1$
-    
-    public static final String IMG_PATH_JAVA_WIZBAN = "images/java-wizban.png"; //$NON-NLS-1$
-    public static final String IMG_PATH_SOURCE_FOLDER = "images/source-folder.gif"; //$NON-NLS-1$
-    public static final String IMG_PATH_WIZBAN_DOWNLOAD_LIBRARY = "images/wizban/download-library.png"; //$NON-NLS-1$
-    public static final String IMG_PATH_BUTTON_DOWNLOAD = "images/buttons/download.png"; //$NON-NLS-1$
-    public static final String IMG_PATH_BUTTON_MANAGE_LIBRARIES = "images/buttons/manage-libraries.gif"; //$NON-NLS-1$
-    public static final String IMG_PATH_OBJECTS_LIBRARY = "images/objects/library.gif"; //$NON-NLS-1$
-    
-    private static final ILog platformLog
-        = Platform.getLog( Platform.getBundle( PLUGIN_ID ) );
-
-    public static ImageDescriptor getImageDescriptor( final String path )
-    {
-        return AbstractUIPlugin.imageDescriptorFromPlugin( PLUGIN_ID, path );
-    }
-
-    public static void log( final Exception e )
-    {
-        final String message = e.getMessage() + ""; //$NON-NLS-1$
-        log( createErrorStatus( message, e ) );
-    }
-
-    public static void log( final IStatus status )
-    {
-        platformLog.log( status );
-    }
-    
-    public static IStatus createErrorStatus( final String message )
-    {
-        return createErrorStatus( message, null );
-    }
-
-    public static IStatus createErrorStatus( final String message,
-                                             final Exception e )
-    {
-        return new Status( IStatus.ERROR, PLUGIN_ID, -1, message, e )  ;      
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaFacetInstallPage.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaFacetInstallPage.java
deleted file mode 100644
index ebaef43..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaFacetInstallPage.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.internal;
-
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_JAVA_WIZBAN;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_SOURCE_FOLDER;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.getImageDescriptor;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvalign;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.resource.ImageRegistry;
-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.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.util.IEventListener;
-import org.eclipse.wst.common.project.facet.core.util.internal.ObjectReference;
-import org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaFacetInstallPage
-
-	extends AbstractFacetWizardPage
-	
-{
-	private static final String WIZARD_PAGE_NAME = "java.facet.install.page"; //$NON-NLS-1$
-	
-	private static final String IMG_KEY_SOURCE_FOLDER = "source.folder"; //$NON-NLS-1$
-	
-	private JavaFacetInstallConfig installConfig = null;
-	private ImageRegistry imageRegistry = null;
-	private Text defaultOutputFolderTextField = null;
-	private TreeViewer sourceFoldersTreeViewer = null;
-    private Tree sourceFoldersTree = null;
-    private Button addButton = null;
-    private Button editButton = null;
-    private Button removeButton = null;
-	
-	public JavaFacetInstallPage() 
-	{
-		super( WIZARD_PAGE_NAME );
-		
-        setTitle( Resources.pageTitle );
-        setDescription( Resources.pageDescription );
-        setImageDescriptor( getImageDescriptor( IMG_PATH_JAVA_WIZBAN ) );
-        
-        this.imageRegistry = new ImageRegistry();
-        this.imageRegistry.put( IMG_KEY_SOURCE_FOLDER, getImageDescriptor( IMG_PATH_SOURCE_FOLDER ) );
-	}
-	
-	public JavaFacetInstallConfig getConfig()
-	{
-	    return this.installConfig;
-	}
-
-	public void setConfig( final Object config ) 
-	{
-		this.installConfig = (JavaFacetInstallConfig) config;
-	}
-
-	public void createControl( final Composite parent) 
-	{
-		final Composite composite = new Composite( parent, SWT.NONE );
-		composite.setLayoutData( gdfill() );
-		composite.setLayout( gl( 2 ) );
-
-        composite.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    handleDisposeEvent();
-                }
-            }
-        );
-		
-        final Label sourceFoldersLabel = new Label( composite, SWT.NONE );
-        sourceFoldersLabel.setLayoutData( gdhspan( gd(), 2 ) );
-        sourceFoldersLabel.setText( Resources.sourceFoldersLabel );
-        
-        this.sourceFoldersTreeViewer = new TreeViewer( composite, SWT.BORDER );
-        this.sourceFoldersTree = this.sourceFoldersTreeViewer.getTree();
-        this.sourceFoldersTree.setLayoutData( gdfill() );
-        
-        this.sourceFoldersTreeViewer.setContentProvider( new SourceFoldersContentProvider() );
-        this.sourceFoldersTreeViewer.setLabelProvider( new SourceFoldersLabelProvider() );
-        this.sourceFoldersTreeViewer.setInput( new Object() );
-        
-        this.sourceFoldersTreeViewer.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent event ) 
-                {
-                    updateButtonEnablement();
-                }
-            }
-        );
-        
-        this.installConfig.addListener
-        (
-            new IEventListener<JavaFacetInstallConfig.ChangeEvent>()
-            {
-                public void handleEvent( final JavaFacetInstallConfig.ChangeEvent event ) 
-                {
-                    JavaFacetInstallPage.this.sourceFoldersTreeViewer.refresh();
-                }
-            },
-            JavaFacetInstallConfig.ChangeEvent.Type.SOURCE_FOLDERS_CHANGED
-        );
-        
-        final Composite buttons = new Composite( composite, SWT.NONE );
-        buttons.setLayoutData( gdvalign( gd(), SWT.TOP ) );
-        buttons.setLayout( glmargins( gl( 1 ), 0, 0 ) );
-        
-        this.addButton = new Button( buttons, SWT.PUSH );
-        this.addButton.setText( Resources.addFolderButton );
-        GridDataFactory.defaultsFor( this.addButton ).applyTo( this.addButton );
-        
-        this.addButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent event ) 
-                {
-                    handleAddButtonPressed();
-                }
-            }
-        );
-
-        this.editButton = new Button( buttons, SWT.PUSH );
-        this.editButton.setText( Resources.editButton );
-        GridDataFactory.defaultsFor( this.editButton ).applyTo( this.editButton );
-        
-        this.editButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent event ) 
-                {
-                    handleEditButtonPressed();
-                }
-            }
-        );
-        
-        this.removeButton = new Button( buttons, SWT.PUSH );
-        this.removeButton.setText( Resources.removeButton );
-        GridDataFactory.defaultsFor( this.removeButton ).applyTo( this.removeButton );
-        
-        this.removeButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent event ) 
-                {
-                    handleRemoveButtonPressed();
-                }
-            }
-        );
-        
-        updateButtonEnablement();
-
-        final Label defaultOutputFolderLabel = new Label( composite, SWT.NONE );
-        defaultOutputFolderLabel.setLayoutData( gdhspan( gd(), 2 ) );
-		defaultOutputFolderLabel.setText( Resources.defaultOutputFolderLabel );
-		
-		this.defaultOutputFolderTextField = new Text( composite, SWT.BORDER );
-		this.defaultOutputFolderTextField.setLayoutData( gdhspan( gdhfill(), 2 ) );
-		
-		bindUiToModel();
-		
-		setControl( composite );
-	}
-	
-    private void bindUiToModel()
-	{
-	    bindDefaultOutputFolder();
-	}
-	
-	private void bindDefaultOutputFolder()
-	{
-	    final JavaFacetInstallConfig installConfig = this.installConfig;
-	    final Text defaultOutputFolderTextField = this.defaultOutputFolderTextField;
-	    
-	    final ObjectReference<Boolean> updating = new ObjectReference<Boolean>( false );
-	    
-	    this.defaultOutputFolderTextField.addModifyListener
-	    (
-	        new ModifyListener()
-	        {
-                public void modifyText( final ModifyEvent e ) 
-                {
-                    if( updating.get() )
-                    {
-                        return;
-                    }
-                    
-                    updating.set( true );
-
-                    try
-                    {
-                        final String newValue = defaultOutputFolderTextField.getText();
-                        installConfig.setDefaultOutputFolder( new Path( newValue ) );
-                    }
-                    finally
-                    {
-                        updating.set( false );
-                    }
-                }
-	        }
-	    );
-	    
-	    final IEventListener<JavaFacetInstallConfig.ChangeEvent> modelEventListener
-	        = new IEventListener<JavaFacetInstallConfig.ChangeEvent>()
-        {
-            public void handleEvent( final JavaFacetInstallConfig.ChangeEvent event ) 
-            {
-                if( updating.get() )
-                {
-                    return;
-                }
-                
-                updating.set( true );
-
-                try
-                {
-                    final String newValue = convertToString( installConfig.getDefaultOutputFolder() );
-                    defaultOutputFolderTextField.setText( newValue );
-                }
-                finally
-                {
-                    updating.set( false );
-                }
-            }
-        };
-
-        this.installConfig.addListener
-	    (
-	        modelEventListener,
-	        JavaFacetInstallConfig.ChangeEvent.Type.DEFAULT_OUTPUT_FOLDER_CHANGED
-	    );
-        
-        modelEventListener.handleEvent( null );
-	}
-	
-    private ImageRegistry getImageRegistry()
-    {
-        return this.imageRegistry;
-    }
-    
-    private IPath getSelectedSourceFolder()
-    {
-        final IStructuredSelection sel = (IStructuredSelection) this.sourceFoldersTreeViewer.getSelection();
-        return (IPath) sel.getFirstElement();
-    }
-
-	private String convertToString( final IPath path )
-	{
-	    return ( path == null ? "" : path.toOSString() ); //$NON-NLS-1$
-	}
-	
-	private void updateButtonEnablement()
-	{
-	    final boolean haveSelection = ! this.sourceFoldersTreeViewer.getSelection().isEmpty();
-	    
-	    this.editButton.setEnabled( haveSelection );
-	    this.removeButton.setEnabled( haveSelection );
-	}
-	
-    private void handleAddButtonPressed() 
-    {
-        final InputDialog dialog 
-            = new InputDialog( this.addButton.getShell(), Resources.addSourceFolderDialogTitle,
-                               Resources.addSourceFolderDialogMessage, null,
-                               createSourceFolderInputValidator() );
-        
-        if( dialog.open() == Window.OK )
-        {
-            final String path = dialog.getValue();
-            this.installConfig.addSourceFolder( new Path( path ) );
-        }
-    }
-
-    private void handleEditButtonPressed() 
-    {
-        final IPath selectedSourceFolder = getSelectedSourceFolder();
-        
-        final InputDialog dialog 
-            = new InputDialog( this.addButton.getShell(), Resources.editSourceFolderDialogTitle,
-                               Resources.editSourceFolderDialogMessage,
-                               selectedSourceFolder.toOSString(),
-                               createSourceFolderInputValidator() );
-        
-        if( dialog.open() == Window.OK )
-        {
-            final IPath newSourceFolder = new Path( dialog.getValue() );
-            final List<IPath> sourceFolders = new ArrayList<IPath>( this.installConfig.getSourceFolders() );
-            final int position = sourceFolders.indexOf( selectedSourceFolder );
-            sourceFolders.set( position, newSourceFolder );
-            this.installConfig.setSourceFolders( sourceFolders );
-        }
-    }
-
-    private void handleRemoveButtonPressed() 
-    {
-        final IPath selectedSourceFolder = getSelectedSourceFolder();
-        this.installConfig.removeSourceFolder( selectedSourceFolder );
-    }
-
-    private void handleDisposeEvent()
-    {
-        this.imageRegistry.dispose();
-    }
-
-    private IInputValidator createSourceFolderInputValidator()
-    {
-        final IWorkspace ws = ResourcesPlugin.getWorkspace();
-        final IFacetedProjectWorkingCopy fpjwc = this.installConfig.getFacetedProjectWorkingCopy();
-        final String projectName = fpjwc.getProjectName();
-        
-        final IInputValidator validator = new IInputValidator()
-        {
-            public String isValid( final String newText ) 
-            {
-                final String fullPath = "/" + projectName + "/" + newText; //$NON-NLS-1$ //$NON-NLS-2$
-                final IStatus result = ws.validatePath( fullPath, IResource.FOLDER );
-                
-                if( result.getSeverity() == IStatus.ERROR )
-                {
-                    return result.getMessage();
-                }
-                else
-                {
-                    return null;
-                }
-            }
-        };
-        
-        return validator;
-    }
-    private final class SourceFoldersContentProvider
-
-        implements ITreeContentProvider
-    
-    {
-        public Object[] getElements( final Object element )
-        {
-            return getConfig().getSourceFolders().toArray();
-        }
-    
-        public Object[] getChildren( final Object parent )
-        {
-            return new Object[ 0 ];
-        }
-    
-        public Object getParent( final Object element )
-        {
-            return null;
-        }
-    
-        public boolean hasChildren( final Object element )
-        {
-            return false;
-        }
-    
-        public void dispose() { }
-    
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-    }
-	
-    private final class SourceFoldersLabelProvider
-
-        implements ILabelProvider
-    
-    {
-        public String getText( final Object element ) 
-        {
-            return ( (IPath) element ).toOSString();
-        }
-
-        public Image getImage( final Object element ) 
-        {
-            return getImageRegistry().get( IMG_KEY_SOURCE_FOLDER );
-        }
-
-        public boolean isLabelProperty( final Object obj,
-                                        final String s )
-        {
-            return false;
-        }
-    
-        public void dispose() {}
-        public void addListener( final ILabelProviderListener listener ) {}
-        public void removeListener( ILabelProviderListener listener ) {}
-    }
-    
-    private static final class Resources 
-    
-        extends NLS 
-        
-    {
-        public static String pageTitle;
-        public static String pageDescription;
-        public static String defaultOutputFolderLabel;
-        public static String sourceFoldersLabel;
-        public static String addFolderButton;
-        public static String editButton;
-        public static String removeButton;
-        public static String addSourceFolderDialogTitle;
-        public static String addSourceFolderDialogMessage;
-        public static String editSourceFolderDialogTitle;
-        public static String editSourceFolderDialogMessage;
-
-        static 
-        {
-            initializeMessages( JavaFacetInstallPage.class.getName(), Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaFacetInstallPage.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaFacetInstallPage.properties
deleted file mode 100644
index a6e3e72..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaFacetInstallPage.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-pageTitle = Java
-pageDescription = Configure project for building a Java application.
-defaultOutputFolderLabel = &Default output folder\:
-sourceFoldersLabel = &Source folders on build path\:
-addFolderButton = &Add Folder...
-editButton = &Edit...
-removeButton = &Remove
-addSourceFolderDialogTitle = Add Source Folder
-addSourceFolderDialogMessage = Specify the name of the new source folder.
-editSourceFolderDialogTitle = Edit Source Folder
-editSourceFolderDialogMessage = Specify the new name for the source folder.
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.java
deleted file mode 100644
index 5426b2b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.internal;
-
-import java.util.Collections;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jst.common.project.facet.core.JavaFacet;
-import org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil;
-import org.eclipse.jst.common.project.facet.core.internal.JavaFacetValidator;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class JavaVersionMismatchMarkerResolutions
-
-    implements IMarkerResolutionGenerator
-    
-{
-    public IMarkerResolution[] getResolutions( final IMarker marker )
-    {
-        return new IMarkerResolution[] 
-        { 
-            new Resolution1( marker ), 
-            new Resolution2( marker ) 
-        };
-    }
-    
-    private static final class Resolution1
-    
-        implements IMarkerResolution
-        
-    {
-        private final IMarker marker;
-        
-        public Resolution1( final IMarker marker )
-        {
-            this.marker = marker;
-        }
-        
-        public String getLabel()
-        {
-            final IProjectFacetVersion fv = getProjectFacetVersion();
-            return NLS.bind( Resources.changeFacetVersion, fv );
-        }
-
-        public void run( final IMarker marker )
-        {
-            final Action action
-                = new Action( Action.Type.VERSION_CHANGE, 
-                              getProjectFacetVersion(), null );
-
-            final IProject proj = this.marker.getResource().getProject();
-            
-            try
-            {
-                final IFacetedProject fproj 
-                    = ProjectFacetsManager.create( proj );
-                
-                fproj.modify( Collections.singleton( action ), null );
-            }
-            catch( CoreException e )
-            {
-                ErrorDialog.openError( null, Resources.errorDialogTitle,
-                                       Resources.errorDialogMessage,
-                                       e.getStatus() );
-            }
-        }
-        
-        private IProjectFacetVersion getProjectFacetVersion()
-        {
-            final String level 
-                = this.marker.getAttribute( JavaFacetValidator.ATTR_COMPILER_LEVEL, null );
-            
-            return JavaFacet.FACET.getVersion( level );
-        }
-    }
-
-    private static final class Resolution2
-    
-        implements IMarkerResolution
-        
-    {
-        private final IMarker marker;
-        
-        public Resolution2( final IMarker marker )
-        {
-            this.marker = marker;
-        }
-        
-        public String getLabel()
-        {
-            final String level = getCompilerLevel();
-            return NLS.bind( Resources.changeCompilerLevel, level );
-        }
-    
-        public void run( final IMarker marker )
-        {
-            final IProject project = this.marker.getResource().getProject();
-            final String level = getCompilerLevel();
-            
-            try
-            {
-                JavaFacetUtil.setCompilerLevel( project, level );
-                JavaFacetUtil.scheduleFullBuild( project );
-            }
-            catch( CoreException e )
-            {
-                ErrorDialog.openError( null, Resources.errorDialogTitle,
-                                       Resources.errorDialogMessage,
-                                       e.getStatus() );
-            }
-        }
-        
-        private String getCompilerLevel()
-        {
-            return this.marker.getAttribute( JavaFacetValidator.ATTR_FACET_VERSION, null);
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String changeFacetVersion;
-        public static String changeCompilerLevel;
-        public static String errorDialogTitle;
-        public static String errorDialogMessage;
-        
-        static
-        {
-            initializeMessages( JavaVersionMismatchMarkerResolutions.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.properties
deleted file mode 100644
index 227ca0a..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/JavaVersionMismatchMarkerResolutions.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-changeFacetVersion = Change Java project facet version to {0}
-changeCompilerLevel =Change Java compiler level to {0}
-errorDialogTitle = Error
-errorDialogMessage = Failed while applying the quick fix.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.java
deleted file mode 100644
index f0e859d..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class StandardJreComponentLabelProvider 
-
-    implements IRuntimeComponentLabelProvider 
-    
-{
-    private final IRuntimeComponent rc;
-
-    public StandardJreComponentLabelProvider( final IRuntimeComponent rc ) 
-    {
-        this.rc = rc;
-    }
-
-    public String getLabel() 
-    {
-        final IRuntimeComponentVersion rcv = this.rc.getRuntimeComponentVersion();
-        return Resources.bind( Resources.label, rcv.getVersionString() );
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES = { IRuntimeComponentLabelProvider.class };
-
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-
-        public Object getAdapter( final Object adaptableObject, 
-                                  final Class adapterType )
-        {
-            return new StandardJreComponentLabelProvider( (IRuntimeComponent) adaptableObject );
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String label;
-        
-        static
-        {
-            initializeMessages( StandardJreComponentLabelProvider.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.properties
deleted file mode 100644
index 4049ef4..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/internal/StandardJreComponentLabelProvider.properties
+++ /dev/null
@@ -1 +0,0 @@
-label = Java Runtime Environment v{0}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/FacetLibraryPropertyPage.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/FacetLibraryPropertyPage.java
deleted file mode 100644
index 5678340..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/FacetLibraryPropertyPage.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov;
-
-
-/**
- * @deprecated Use LibraryFacetPropertyPage instead.
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public abstract class FacetLibraryPropertyPage 
-
-    extends LibraryFacetPropertyPage
-    
-{
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetInstallPage.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetInstallPage.java
deleted file mode 100644
index b89387b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetInstallPage.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov;
-
-import static org.eclipse.jst.common.project.facet.ui.libprov.LibraryProviderFrameworkUi.createInstallLibraryPanel;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.common.project.facet.core.libprov.IPropertyChangeListener;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryFacetInstallConfig;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public abstract class LibraryFacetInstallPage
-
-    extends AbstractFacetWizardPage
-
-{
-    private LibraryFacetInstallConfig config = null;
-    private LibraryInstallDelegate libraryInstallDelegate = null;
-    private Composite rootComposite = null;
-    
-    public LibraryFacetInstallPage( final String name )
-    {
-        super( name );
-    }
-    
-    public void setConfig( final Object config ) 
-    {
-        this.config = (LibraryFacetInstallConfig) config;
-        this.libraryInstallDelegate = this.config.getLibraryInstallDelegate();
-    }
-    
-    protected LibraryInstallDelegate getLibraryInstallDelegate()
-    {
-        return this.libraryInstallDelegate;
-    }
-
-    public final void createControl( final Composite parent )
-    {
-        this.rootComposite = new Composite( parent, SWT.NONE );
-        this.rootComposite.setLayout( gl( 1 ) );
-    
-        final Control control = createPageContents( this.rootComposite );
-        control.setLayoutData( gdhfill() );
-        
-        updateValidation();
-        
-        setControl( this.rootComposite );
-    }
-    
-    /**
-     * The method that creates the actual interesting page content. It can be overridden
-     * as necessary to expand the scope of information managed by the page. 
-     * 
-     * @param parent the parent composite
-     * @return the create control with all the page contents
-     */
-    
-    protected Control createPageContents( final Composite parent )
-    {
-        final IPropertyChangeListener delegateListener = new IPropertyChangeListener()
-        {
-            public void propertyChanged( final String property,
-                                         final Object oldValue,
-                                         final Object newValue )
-            {
-                updateValidation();
-            }
-        };
-        
-        this.libraryInstallDelegate.addListener( delegateListener );
-        
-        this.rootComposite.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent event )
-                {
-                    getLibraryInstallDelegate().removeListener( delegateListener );
-                }
-            }
-        );
-        
-        return createInstallLibraryPanel( parent, this.libraryInstallDelegate );
-    }
-    
-    protected final void updateValidation()
-    {
-        if( this.rootComposite.isDisposed() )
-        {
-            return;
-        }
-        
-        if( this.rootComposite.getDisplay().getThread() != Thread.currentThread() )
-        {
-            this.rootComposite.getDisplay().asyncExec
-            (
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        updateValidation();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        final IStatus st = performValidation();
-        final int severity = st.getSeverity();
-        
-        if( severity == IStatus.ERROR )
-        {
-            setMessage( st.getMessage(), ERROR );
-            setPageComplete( false );
-        }
-        else
-        {
-            if( severity == IStatus.WARNING )
-            {
-                setMessage( st.getMessage(), WARNING );
-            }
-            else if( severity == IStatus.INFO )
-            {
-                setMessage( st.getMessage(), INFORMATION );
-            }
-            else
-            {
-                setMessage( null );
-            }
-            
-            setPageComplete( true );
-        }
-    }
-    
-    /**
-     * The method that performs validation of controls displayed on the page. It can be
-     * overridden as necessary to incorporate validation of additional controls. The
-     * subclass can call updateValidation() method to refresh page validation.
-     * 
-     * @return the validation result
-     */
-    
-    protected IStatus performValidation()
-    {
-        if( this.config != null )
-        {
-            return this.config.validate();
-        }
-
-        return Status.OK_STATUS;
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetPropertyPage.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetPropertyPage.java
deleted file mode 100644
index ee49266..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetPropertyPage.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov;
-
-import static org.eclipse.jst.common.project.facet.ui.libprov.LibraryProviderFrameworkUi.createInstallLibraryPanel;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jst.common.project.facet.core.libprov.IPropertyChangeListener;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.ui.internal.SharedWorkingCopyManager;
-
-/**
- * Base implementation that can be used by those wishing to create a property page for
- * a facet where the associated libraries can be changed after the facet has been installed.
- * Other content can be added to the page by overriding the createPageContents
- * method.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public abstract class LibraryFacetPropertyPage 
-
-    extends PropertyPage
-    
-{
-    private IProject project;
-    private IFacetedProject facetedProject;
-    private IFacetedProjectWorkingCopy facetedProjectWorkingCopy;
-    private IFacetedProjectListener facetedProjectListener;
-    private Composite rootComposite;
-    private LibraryInstallDelegate libraryInstallDelegate;
-    
-    public abstract IProjectFacetVersion getProjectFacetVersion();
-    
-    /**
-     * Returns the project that this property page belongs to.
-     * 
-     * @return the project that this property page belongs to
-     */
-    
-    protected final IProject getProject()
-    {
-        return this.project;
-    }
-    
-    /**
-     * Returns the faceted project that this property page belongs to.
-     * 
-     * @return the faceted project that this property page belongs to
-     */
-    
-    protected final IFacetedProject getFacetedProject()
-    {
-        return this.facetedProject;
-    }
-    
-    /**
-     * Returns the library install delegate that is controlling library configuration
-     * for this facet.
-     * 
-     * @return the library install delegate that is controlling library configuration
-     *   for this facet
-     */
-    
-    protected final LibraryInstallDelegate getLibraryInstallDelegate()
-    {
-        return this.libraryInstallDelegate;
-    }
-
-    /**
-     * Constructs a new library install delegate. This method can be overridden to adjust
-     * the construction of the library install delegate as necessary. This is necessary, for
-     * instance, in order to declare custom enablement expression evaluation context variables.
-     *
-     * @param project the faceted project
-     * @param fv the project facet version
-     * @return the constructed library install delegate
-     */
-    
-    protected LibraryInstallDelegate createLibraryInstallDelegate( final IFacetedProject project,
-                                                                   final IProjectFacetVersion fv )
-    {
-        return new LibraryInstallDelegate( project, fv );
-    }
-    
-    @Override
-    public final void createControl( final Composite parent )
-    {
-        super.createControl( parent );
-        getDefaultsButton().setText( Resources.revertButton );
-        updateButtons();
-        getShell().layout( true, true );
-    }
-    
-    protected final Control createContents( final Composite parent ) 
-    {
-        final IAdaptable element = getElement();
-        
-        if( element instanceof IProject )
-        {
-            this.project = (IProject) element;
-        }
-        else
-        {
-            this.project = (IProject) Platform.getAdapterManager().loadAdapter( element, IProject.class.getName() );
-        }
-        
-        if( this.project != null )
-        {
-            try
-            {
-                this.facetedProject = ProjectFacetsManager.create( this.project );
-            }
-            catch( CoreException e ) 
-            {
-                e.printStackTrace();
-            } 
-        }
-        
-        Dialog.applyDialogFont( parent );
-
-        this.rootComposite = new Composite( parent, SWT.NONE );
-        
-        if( this.facetedProject != null )
-        {
-            this.facetedProjectWorkingCopy = SharedWorkingCopyManager.getWorkingCopy( this.facetedProject );
-
-            this.facetedProjectListener = new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    updateContents();
-                }
-            };
-            
-            this.facetedProject.addListener( this.facetedProjectListener, IFacetedProjectEvent.Type.PROJECT_MODIFIED );
-            this.facetedProjectWorkingCopy.addListener( this.facetedProjectListener, IFacetedProjectEvent.Type.PROJECT_MODIFIED );
-        }
-        
-        updateContents();
-        
-        return this.rootComposite;
-    }
-    
-    /**
-     * The method that creates the actual interesting page content. It can be overridden
-     * as necessary to expand the scope of information managed by the page. 
-     * 
-     * @param parent the parent composite
-     * @return the create control with all the page contents
-     */
-    
-    protected Control createPageContents( final Composite parent )
-    {
-        return createInstallLibraryPanel( parent, this.libraryInstallDelegate );
-    }
-    
-    private void updateContents()
-    {
-        if( this.rootComposite.getDisplay().getThread() != Thread.currentThread() )
-        {
-            this.rootComposite.getDisplay().asyncExec
-            (
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        updateContents();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        final IProjectFacetVersion fv = getProjectFacetVersion();
-        
-        String errorMessage = null;
-        
-        if( this.facetedProject == null )
-        {
-            errorMessage = Resources.invalidContextMessage;
-        }
-        else if( fv == null || ! this.facetedProject.hasProjectFacet( fv ) )
-        {
-            errorMessage = Resources.facetNotPresetInProjectMessage;
-        }
-        else if( this.facetedProjectWorkingCopy.isDirty() )
-        {
-            errorMessage = Resources.dirtyWorkingCopyMessage;
-        }
-        else if( this.libraryInstallDelegate == null )
-        {
-            for( Control control : this.rootComposite.getChildren() )
-            {
-                control.dispose();
-            }
-        
-            final IPropertyChangeListener delegateListener = new IPropertyChangeListener()
-            {
-                public void propertyChanged( final String property,
-                                             final Object oldValue,
-                                             final Object newValue )
-                {
-                    updateValidation();
-                }
-            };
-
-            this.libraryInstallDelegate = createLibraryInstallDelegate( this.facetedProject, fv );
-            this.libraryInstallDelegate.addListener( delegateListener );
-            
-            this.rootComposite.setLayout( gl( 1, 0, 0 ) );
-            
-            final Control contents = createPageContents( this.rootComposite );
-            contents.setLayoutData( gdhfill() );
-        }
-        
-        if( errorMessage != null )
-        {
-            for( Control control : this.rootComposite.getChildren() )
-            {
-                control.dispose();
-            }
-            
-            if( this.libraryInstallDelegate != null )
-            {
-            	this.libraryInstallDelegate.dispose();
-            }
-            
-            this.libraryInstallDelegate = null;
-            
-            this.rootComposite.setLayout( gl( 1, 0, 0 ) );
-            
-            final Text label = new Text( this.rootComposite, SWT.WRAP | SWT.READ_ONLY );
-            label.setText( errorMessage );
-            label.setLayoutData( gdhfill() );
-        }
-        
-        updateValidation();
-        updateButtons();
-        
-        getShell().layout( true, true );
-    }
-    
-    private void updateButtons()
-    {
-        boolean enableApply = isValid();
-        boolean enableRevert = true;
-        
-        if( this.libraryInstallDelegate == null )
-        {
-            enableApply = false;
-            enableRevert = false;
-        }
-        
-        final Button applyButton = getApplyButton();
-        
-        if( applyButton != null )
-        {
-            applyButton.setEnabled( enableApply );
-        }
-        
-        final Button revertButton = getDefaultsButton();
-        
-        if( revertButton != null )
-        {
-            revertButton.setEnabled( enableRevert );
-        }
-    }
-    
-    protected final void updateValidation()
-    {
-        if( this.rootComposite.isDisposed() )
-        {
-            return;
-        }
-        
-        if( this.rootComposite.getDisplay().getThread() != Thread.currentThread() )
-        {
-            this.rootComposite.getDisplay().asyncExec
-            (
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        updateValidation();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        final IStatus st = performValidation();
-        final int severity = st.getSeverity();
-        
-        if( severity == IStatus.ERROR )
-        {
-            setMessage( st.getMessage(), ERROR );
-            setValid( false );
-        }
-        else
-        {
-            if( severity == IStatus.WARNING )
-            {
-                setMessage( st.getMessage(), WARNING );
-            }
-            else if( severity == IStatus.INFO )
-            {
-                setMessage( st.getMessage(), INFORMATION );
-            }
-            else
-            {
-                setMessage( null );
-            }
-            
-            setValid( true );
-        }
-    }
-    
-    /**
-     * The method that performs validation of controls displayed on the page. It can be
-     * overridden as necessary to incorporate validation of additional controls. The
-     * subclass can call updateValidation() method to refresh page validation.
-     * 
-     * @return the validation result
-     */
-    
-    protected IStatus performValidation()
-    {
-        if( this.libraryInstallDelegate != null )
-        {
-            return this.libraryInstallDelegate.validate();
-        }
-        
-        return Status.OK_STATUS;
-    }
-
-    @Override
-    public boolean performOk() 
-    {
-        final IWorkspaceRunnable wr = new IWorkspaceRunnable()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws CoreException
-                
-            {
-                performOkInternal();
-            }
-        };
-        
-        final IRunnableWithProgress op = new IRunnableWithProgress()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws InvocationTargetException, InterruptedException
-                
-            {
-                try
-                {
-                    final IWorkspace ws = ResourcesPlugin.getWorkspace();
-                    ws.run( wr, ws.getRoot(), IWorkspace.AVOID_UPDATE, monitor );
-                }
-                catch( CoreException e )
-                {
-                    throw new InvocationTargetException( e );
-                }
-            }
-        };
-
-        try 
-        {
-            new ProgressMonitorDialog( getShell() ).run( true, false, op );
-        }
-        catch( InterruptedException e ) 
-        {
-            return false;
-        } 
-        catch( InvocationTargetException e ) 
-        {
-            final Throwable te = e.getTargetException();
-            throw new RuntimeException( te );
-        }
-        
-        return true;
-    }
-    
-    private void performOkInternal()
-    
-        throws CoreException
-        
-    {
-        if( this.libraryInstallDelegate != null )
-        {
-            this.libraryInstallDelegate.execute( null );
-            this.libraryInstallDelegate.reset();
-        }
-    }
-
-    @Override
-    protected void performApply() 
-    {
-        performOk();
-    }
-
-    @Override
-    protected void performDefaults()
-    {
-        if( this.libraryInstallDelegate != null )
-        {
-            this.libraryInstallDelegate.reset();
-        }
-    }
-
-    @Override
-    public void dispose()
-    {
-        super.dispose();
-        
-        if( this.libraryInstallDelegate != null )
-        {
-        	this.libraryInstallDelegate.dispose();
-        }
-        
-        if( this.facetedProject != null )
-        {
-            this.facetedProject.removeListener( this.facetedProjectListener );
-            SharedWorkingCopyManager.releaseWorkingCopy( this.facetedProject );
-        }
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String revertButton;
-        public static String invalidContextMessage;
-        public static String facetNotPresetInProjectMessage;
-        public static String dirtyWorkingCopyMessage;
-        
-        static
-        {
-            initializeMessages( LibraryFacetPropertyPage.class.getName(), 
-                                Resources.class );
-        }
-    }
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetPropertyPage.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetPropertyPage.properties
deleted file mode 100644
index 3b22062..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryFacetPropertyPage.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-revertButton = Revert
-invalidContextMessage = Invalid context.
-facetNotPresetInProjectMessage = The project facet that this property page belongs is not present in the project.
-dirtyWorkingCopyMessage = Uncommitted changes are present on the Project Facets property page. Commit or revert those changes prior to making changes to this facet's configuration.
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryProviderFrameworkUi.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryProviderFrameworkUi.java
deleted file mode 100644
index 4f85b01..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryProviderFrameworkUi.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov;
-
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.jst.common.project.facet.ui.libprov.internal.LibraryProviderFrameworkUiImpl;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * The root entry point for working with the UI portion of the Library Provider Framework.
- * 
- * @noinstantiate This class is not intended to be instantiated by clients.
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public final class LibraryProviderFrameworkUi
-{
-    private LibraryProviderFrameworkUi() {}
-    
-    /**
-     * Creates a library install panel where the user can select and configure a library.
-     * This method variant will always use the default label for the library selection
-     * panel.
-     * 
-     * @param parent the parent composite
-     * @param delegate the install delegate that the panel should bind to
-     * @return the created panel control
-     */
-    
-    public static Control createInstallLibraryPanel( final Composite parent,
-                                                     final LibraryInstallDelegate delegate )
-    {
-        return createInstallLibraryPanel( parent, delegate, null );
-    }
-    
-    /**
-     * Creates a library install panel where the user can select and configure a library.
-     * 
-     * @param parent the parent composite
-     * @param delegate the install delegate that the panel should bind to
-     * @param label the label to use for the panel or <code>null</code> to use the default
-     * @return the created panel control
-     */
-    
-    public static Control createInstallLibraryPanel( final Composite parent,
-                                                     final LibraryInstallDelegate delegate,
-                                                     final String label )
-    {
-        return LibraryProviderFrameworkUiImpl.get().createInstallLibraryPanel( parent, delegate, label );
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryProviderOperationPanel.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryProviderOperationPanel.java
deleted file mode 100644
index 7ea4346..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/LibraryProviderOperationPanel.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov;
-
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * This class should be subclassed in order to implement a configuration panel for library
- * provider operations. It is used together with the 
- * org.eclipse.jst.common.project.facet.ui.libraryProviderActionPanels extension point.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public abstract class LibraryProviderOperationPanel
-{
-    private LibraryProviderOperationConfig config = null;
-    
-    /**
-     * Returns the library provider operation config that this operation panel is bound to.
-     * 
-     * @return the library provider operation config that this operation panel is bound to
-     */
-    
-    public LibraryProviderOperationConfig getOperationConfig()
-    {
-        return this.config;
-    }
-    
-    /**
-     * Sets the library provider operation config that this panel should bind to.
-     * 
-     * @param config the library provider operation config that this panel should bind to
-     */
-    
-    public void setOperationConfig( final LibraryProviderOperationConfig config )
-    {
-        this.config = config;
-    }
-    
-    /**
-     * Creates the panel control.
-     * 
-     * @param parent the parent composite
-     * @return the created control
-     */
-    
-    public abstract Control createControl( final Composite parent );
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/SimpleMessageLibraryProviderInstallPanel.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/SimpleMessageLibraryProviderInstallPanel.java
deleted file mode 100644
index 61b7cb0..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/SimpleMessageLibraryProviderInstallPanel.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Link;
-
-/**
- * This {@link LibraryProviderOperationPanel} implementation is useful when the library
- * provider only needs to show a message to the user on the install panel. The panel created 
- * by this implementation contains a simple multi-line label with text from the "message" parameter 
- * in the library provider definition.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public final class SimpleMessageLibraryProviderInstallPanel
-
-    extends LibraryProviderOperationPanel
-    
-{
-    private static final String PARAM_MESSAGE = "message"; //$NON-NLS-1$
-    
-    @Override
-    public Control createControl( final Composite parent )
-    {
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( gl( 1, 0, 0 ) );
-        
-        final String message 
-            = getOperationConfig().getLibraryProvider().getParams().get( PARAM_MESSAGE );
-        
-        final Link link = new Link( composite, SWT.WRAP );
-        final GridData data = new GridData( SWT.FILL, SWT.BEGINNING, true, false );
-        data.widthHint = 300;
-        link.setLayoutData( data );
-        link.setText( message );
-        
-        return composite;
-    }
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryInstallPanel.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryInstallPanel.java
deleted file mode 100644
index c8a5e79..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryInstallPanel.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.IPropertyChangeListener;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderActionType;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
-import org.eclipse.jst.common.project.facet.ui.libprov.LibraryProviderOperationPanel;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.part.PageBook;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LibraryInstallPanel
-
-    extends Composite
-    
-{
-    private final LibraryInstallDelegate delegate;
-    private final Group providersGroup;
-    private final Combo providersCombo;
-    private final PageBook providersPageBook;
-    private final Map<ILibraryProvider,Control> providerPages;
-    private final Composite noProviderComposite;
-    
-    public LibraryInstallPanel( final Composite parent,
-                                final LibraryInstallDelegate delegate,
-                                final String label )
-    {
-        super( parent, SWT.NONE );
-        
-        setLayout( gl( 1, 0, 0 ) );
-        
-        this.delegate = delegate;
-        this.providerPages = new HashMap<ILibraryProvider,Control>();
-        
-        this.providersGroup = new Group( this, SWT.NONE );
-        this.providersGroup.setLayoutData( gdhfill() );
-        this.providersGroup.setLayout( gl( 1 ) );
-        this.providersGroup.setText( label != null ? label : Resources.providersGroupLabel );
-        
-        final Composite providersComboComposite = new Composite( this.providersGroup, SWT.NONE );
-        providersComboComposite.setLayoutData( gdhfill() );
-        providersComboComposite.setLayout( gl( 2, 0, 0 ) );
-        
-        final Label providersComboLabel = new Label( providersComboComposite, SWT.NONE );
-        providersComboLabel.setLayoutData( gd() );
-        providersComboLabel.setText( Resources.providersComboLabel );
-        
-        this.providersCombo = new Combo( providersComboComposite, SWT.BORDER | SWT.READ_ONLY );
-        this.providersCombo.setLayoutData( gdhfill() );
-        
-        this.providersCombo.addSelectionListener
-        ( 
-            new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected( final SelectionEvent event )
-                {
-                    handleProviderSelected();
-                }
-            }
-        );
-        
-        final Label separator = new Label( this.providersGroup, SWT.SEPARATOR | SWT.HORIZONTAL );
-        separator.setLayoutData( gdhfill() );
-        
-        this.providersPageBook = new PageBook( this.providersGroup, SWT.NONE );
-        this.providersPageBook.setLayoutData( gdhfill() );
-        
-        this.noProviderComposite = new Composite( this.providersPageBook, SWT.NONE );
-        this.noProviderComposite.setLayout( gl( 1 ) );
-        this.noProviderComposite.setVisible( false );
-        
-        final Label noProviderLabel = new Label( this.noProviderComposite, SWT.NONE );
-        noProviderLabel.setText( Resources.noProvidersAvailable );
-        noProviderLabel.setLayoutData( gdhfill() );
-        
-        handleProvidersSetChanged();
-        
-        final IPropertyChangeListener listener = new IPropertyChangeListener()
-        {
-            public void propertyChanged( final String property,
-                                         final Object oldValue,
-                                         final Object newValue )
-            {
-                handleOperationConfigChanged( property, oldValue, newValue );
-            }
-        }; 
-        
-        this.delegate.addListener( listener ); 
-        
-        this.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent event )
-                {
-                    LibraryInstallPanel.this.delegate.removeListener( listener );
-                }
-            }
-        );
-    }
-    
-    private void handleProvidersSetChanged()
-    {
-        this.providerPages.clear();
-        this.providersCombo.setItems( new String[ 0 ] );
-        
-        final List<ILibraryProvider> providers = this.delegate.getLibraryProviders();
-        final ILibraryProvider selectedProvider = this.delegate.getLibraryProvider();
-        
-        for( ILibraryProvider provider : providers )
-        {
-            this.providersCombo.add( provider.getLabel() );
-            
-            final int index = this.providersCombo.getItemCount() - 1;
-            this.providersCombo.setData( String.valueOf( index ), provider );
-            
-            final LibraryProviderOperationConfig cfg 
-                = this.delegate.getLibraryProviderOperationConfig( provider );
-
-            final LibraryProviderOperationPanel panel 
-                = LibraryProviderFrameworkUiImpl.get().getOperationPanel( provider, LibraryProviderActionType.INSTALL );
-            
-            if( panel != null )
-            {
-                panel.setOperationConfig( cfg );
-                
-                final Control panelControl = panel.createControl( this.providersPageBook );
-                panelControl.setLayoutData( gdfill() );
-                panelControl.setVisible( false );
-                
-                this.providerPages.put( provider, panelControl );
-            }
-
-            if( provider.equals( selectedProvider ) )
-            {
-                this.providersCombo.select( index );
-            }
-        }
-
-        handleProviderSelected();
-    }
-    
-    private void handleProviderSelected()
-    {
-        final int selection = this.providersCombo.getSelectionIndex();
-        
-        if( selection == -1 )
-        {
-            this.delegate.setLibraryProvider( null );
-            this.providersPageBook.showPage( this.noProviderComposite );
-        }
-        else
-        {
-            final ILibraryProvider provider 
-                = (ILibraryProvider) this.providersCombo.getData( String.valueOf( selection ) );
-         
-            this.delegate.setLibraryProvider( provider );
-            
-            final Control providerPanelControl = this.providerPages.get( provider );
-            this.providersPageBook.showPage( providerPanelControl );
-        }
-        
-        getShell().layout( true, true );
-    }
-    
-    private void handleOperationConfigChanged( final String property,
-                                               final Object oldValue,
-                                               final Object newValue )
-    {
-        if( getDisplay().getThread() != Thread.currentThread() )
-        {
-            getDisplay().asyncExec
-            (
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleOperationConfigChanged( property, oldValue, newValue );
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        if( property.equals( LibraryInstallDelegate.PROP_AVAILABLE_PROVIDERS ) )
-        {
-            handleProvidersSetChanged();
-        }
-        else if( property.equals( LibraryInstallDelegate.PROP_SELECTED_PROVIDER ) )
-        {
-            final ILibraryProvider selectedProvider = this.delegate.getLibraryProvider();
-            
-            for( int i = 0, n = this.providersCombo.getItemCount(); i < n; i++ )
-            {
-                if( this.providersCombo.getData( String.valueOf( i ) ).equals( selectedProvider ) )
-                {
-                    this.providersCombo.select( i );
-                    break;
-                }
-            }
-            
-            handleProviderSelected();
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String providersGroupLabel;
-        public static String providersComboLabel;
-        public static String noProvidersAvailable;
-        
-        static
-        {
-            initializeMessages( LibraryInstallPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryInstallPanel.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryInstallPanel.properties
deleted file mode 100644
index 45ecd5a..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryInstallPanel.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-providersGroupLabel = Library
-providersComboLabel = Type\:
-noProvidersAvailable = No library providers are available for this facet.
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryProviderFrameworkUiImpl.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryProviderFrameworkUiImpl.java
deleted file mode 100644
index 1affdee..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/internal/LibraryProviderFrameworkUiImpl.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov.internal;
-
-import static org.eclipse.jst.common.project.facet.core.libprov.internal.LibraryProviderFrameworkImpl.reportProviderNotDefined;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.PLUGIN_ID;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findRequiredAttribute;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.instantiate;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.loadClass;
-
-import java.util.ArrayList;
-import java.util.EnumMap;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryInstallDelegate;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderActionType;
-import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderFramework;
-import org.eclipse.jst.common.project.facet.ui.libprov.LibraryProviderOperationPanel;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.InvalidExtensionException;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class LibraryProviderFrameworkUiImpl
-{
-    private static final String EXTENSION_POINT_ID = "libraryProviderActionPanels"; //$NON-NLS-1$
-    
-    private static final String EL_PANEL = "panel"; //$NON-NLS-1$
-    private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-    private static final String ATTR_PROVIDER = "provider"; //$NON-NLS-1$
-
-    private static LibraryProviderFrameworkUiImpl instance = null;
-    
-    private final Map<ILibraryProvider,Map<LibraryProviderActionType,PanelDef>> panels;
-    
-    public LibraryProviderFrameworkUiImpl()
-    {
-        this.panels = new HashMap<ILibraryProvider,Map<LibraryProviderActionType,PanelDef>>();
-        readExtensions();
-    }
-    
-    public static synchronized LibraryProviderFrameworkUiImpl get()
-    {
-        if( instance == null )
-        {
-            instance = new LibraryProviderFrameworkUiImpl();
-        }
-        
-        return instance;
-    }
-    
-    public Control createInstallLibraryPanel( final Composite parent,
-                                              final LibraryInstallDelegate delegate,
-                                              final String label )
-    {
-        return new LibraryInstallPanel( parent, delegate, label );
-    }
-    
-    public LibraryProviderOperationPanel getOperationPanel( final ILibraryProvider provider,
-                                                               final LibraryProviderActionType actionType )
-    {
-        ILibraryProvider prov = provider;
-        PanelDef panelDef = null;
-        
-        while( prov != null && panelDef == null )
-        {
-            final Map<LibraryProviderActionType,PanelDef> providerPanelDefs = this.panels.get( prov );
-            
-            if( providerPanelDefs != null )
-            {
-                panelDef = providerPanelDefs.get( actionType );
-            }
-            
-            prov = prov.getBaseProvider();
-        }
-        
-        if( panelDef == null )
-        {
-            return null;
-        }
-        
-        final Class<LibraryProviderOperationPanel> panelClass = panelDef.getPanelClass();
-        
-        if( panelClass == null )
-        {
-            return null;
-        }
-        
-        return instantiate( panelDef.getPluginId(), panelClass );
-    }
-    
-    private void readExtensions()
-    {
-        final IExtensionRegistry registry = Platform.getExtensionRegistry();
-        
-        final IExtensionPoint point 
-            = registry.getExtensionPoint( PLUGIN_ID, EXTENSION_POINT_ID );
-        
-        if( point == null )
-        {
-            throw new IllegalStateException();
-        }
-        
-        final List<IConfigurationElement> cfgels = new ArrayList<IConfigurationElement>();
-        
-        for( IExtension extension : point.getExtensions() )
-        {
-            for( IConfigurationElement element : extension.getConfigurationElements() )
-            {
-                cfgels.add( element );
-            }
-        }
-
-        for( IConfigurationElement element : cfgels )
-        {
-            if( ! element.getName().equals( EL_PANEL ) )
-            {
-                continue;
-            }
-            
-            try
-            {
-                final String pluginId = element.getContributor().getName();
-                
-                final String providerId = findRequiredAttribute( element, ATTR_PROVIDER );
-                
-                if( ! LibraryProviderFramework.isProviderDefined( providerId ) )
-                {
-                    reportProviderNotDefined( providerId, pluginId );
-                    throw new InvalidExtensionException();
-                }
-                
-                final ILibraryProvider provider 
-                    = LibraryProviderFramework.getProvider( providerId );
-                
-                final String panelClassName = findRequiredAttribute( element, ATTR_CLASS );
-                
-                final PanelDef panelDef = new PanelDef( pluginId, panelClassName );
-                
-                Map<LibraryProviderActionType,PanelDef> providerPanelDefs = this.panels.get( provider );
-                
-                if( providerPanelDefs == null )
-                {
-                    providerPanelDefs = new EnumMap<LibraryProviderActionType,PanelDef>( LibraryProviderActionType.class );
-                    this.panels.put( provider, providerPanelDefs );
-                }
-                
-                providerPanelDefs.put( LibraryProviderActionType.INSTALL, panelDef );
-            }
-            catch( InvalidExtensionException e )
-            {
-                // Ignore and continue. The problem has already been reported to the user
-                // in the log.
-            }
-        }
-    }
-    
-    private static final class PanelDef
-    {
-        private final String pluginId;
-        private final String className;
-        private Class<LibraryProviderOperationPanel> panelClass;
-        
-        public PanelDef( final String pluginId,
-                         final String className )
-        {
-            this.pluginId = pluginId;
-            this.className = className;
-            this.panelClass = null;
-        }
-        
-        public String getPluginId()
-        {
-            return this.pluginId;
-        }
-        
-        public synchronized Class<LibraryProviderOperationPanel> getPanelClass()
-        {
-            if( this.panelClass == null )
-            {
-                this.panelClass = loadClass( this.pluginId, this.className );
-            }
-            
-            return this.panelClass;
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/osgi/OsgiBundlesLibraryProviderInstallPanel.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/osgi/OsgiBundlesLibraryProviderInstallPanel.java
deleted file mode 100644
index 462c74b..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/osgi/OsgiBundlesLibraryProviderInstallPanel.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov.osgi;
-
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.PLUGIN_ID;
-import static org.eclipse.ui.plugin.AbstractUIPlugin.imageDescriptorFromPlugin;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.common.project.facet.core.libprov.osgi.BundleReference;
-import org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperationConfig;
-import org.eclipse.jst.common.project.facet.ui.libprov.LibraryProviderOperationPanel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.wst.common.project.facet.ui.internal.util.ProblemOverlayImageDescriptor;
-
-/**
- * The install operation panel corresponding to the osgi-bundles-library-provider that exposes
- * specified OSGi libraries from the Eclipse install to user project's classpath. This class can 
- * be subclassed by those wishing to extend the base implementation supplied by the framework.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class OsgiBundlesLibraryProviderInstallPanel
-
-    extends LibraryProviderOperationPanel
-    
-{
-    /**
-     * Creates the panel control.
-     * 
-     * @param parent the parent composite
-     * @return the created control
-     */
-    
-    @Override
-    public Control createControl( final Composite parent )
-    {
-        final Composite rootComposite = new Composite( parent, SWT.NONE );
-        rootComposite.setLayout( gl( 1, 0, 0 ) );
-        
-        final Table bundlesTable = new Table( rootComposite, SWT.BORDER );
-        bundlesTable.setLayoutData( gdhhint( gdhfill(), 60 ) );
-        bundlesTable.setBackground( Display.getCurrent().getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-        
-        final TableViewer bundlesTableViewer = new TableViewer( bundlesTable );
-        
-        final IStructuredContentProvider contentProvider = new IStructuredContentProvider()
-        {
-            public Object[] getElements( final Object inputElement )
-            {
-                final OsgiBundlesLibraryProviderInstallOperationConfig cfg
-                    = (OsgiBundlesLibraryProviderInstallOperationConfig) getOperationConfig();
-                
-                return cfg.getBundleReferences().toArray();
-            }
-    
-            public void inputChanged( final Viewer viewer,
-                                      final Object oldInput,
-                                      final Object newInput )
-            {
-            }
-            
-            public void dispose()
-            {
-            }
-        };
-        
-        bundlesTableViewer.setContentProvider( contentProvider );
-        
-        final LabelProvider labelProvider = new LabelProvider()
-        {
-            private final ImageDescriptor bundleImageDescriptor 
-                = imageDescriptorFromPlugin( PLUGIN_ID, "images/bundle.png" ); //$NON-NLS-1$
-            
-            private final Image bundleImage = this.bundleImageDescriptor.createImage();
-            
-            private final Image bundleImageError
-                = ( new ProblemOverlayImageDescriptor( this.bundleImageDescriptor, IStatus.ERROR ) ).createImage();
-            
-            public Image getImage( final Object element )
-            {
-                final boolean isResolvable = ( (BundleReference) element ).isResolvable();
-                return isResolvable ? this.bundleImage : this.bundleImageError;
-            }
-    
-            public String getText( final Object element )
-            {
-                final BundleReference bundleReference = (BundleReference) element;
-                final StringBuilder buf = new StringBuilder();
-                
-                buf.append( ' ' );
-                buf.append( bundleReference.getBundleId() );
-                
-                if( bundleReference.getVersionRange() != null )
-                {
-                    buf.append( ' ' );
-                    buf.append( bundleReference.getVersionRange().toString() );
-                }
-                
-                return buf.toString();
-            }
-    
-            @Override
-            public void dispose()
-            {
-                this.bundleImage.dispose();
-            }
-        };
-        
-        bundlesTableViewer.setLabelProvider( labelProvider );
-
-        bundlesTableViewer.setInput( new Object() );
-        
-        final Control footerControl = createFooter( rootComposite );
-        
-        if( footerControl != null )
-        {
-            footerControl.setLayoutData( gdhfill() );
-        }
-        
-        return rootComposite;
-    }
-    
-    /**
-     * This method can be overridden to create a control beneath the bundles table. The default
-     * implementation doesn't create a control and returns <code>null</code>.
-     * 
-     * @param parent the parent composite 
-     * @return the created control
-     */
-    
-    protected Control createFooter( final Composite parent )
-    {
-        return null;
-    }
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/UserLibraryProviderInstallPanel.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/UserLibraryProviderInstallPanel.java
deleted file mode 100644
index d6941fc..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/UserLibraryProviderInstallPanel.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov.user;
-
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_BUTTON_DOWNLOAD;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_BUTTON_MANAGE_LIBRARIES;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_OBJECTS_LIBRARY;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.getImageDescriptor;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.UserLibraryManager;
-import org.eclipse.jdt.internal.ui.preferences.UserLibraryPreferencePage;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.common.project.facet.core.libprov.IPropertyChangeListener;
-import org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig;
-import org.eclipse.jst.common.project.facet.ui.libprov.LibraryProviderOperationPanel;
-import org.eclipse.jst.common.project.facet.ui.libprov.user.internal.DownloadLibraryWizard;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-
-/**
- * The install operation panel corresponding to the user-library-provider that uses JDT user library facility
- * for managing libraries. This class can be subclassed by those wishing to extend the base implementation
- * supplied by the framework.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-@SuppressWarnings( "restriction" )
-
-public class UserLibraryProviderInstallPanel
-
-    extends LibraryProviderOperationPanel
-    
-{
-    private Composite rootComposite = null;
-    private CheckboxTableViewer libsTableViewer = null;
-    private MenuItem downloadLibraryMenuItem = null;
-    private ToolItem downloadLibraryButton = null;
-    private boolean downloadCommandEnabled = true;
-    
-    /**
-     * Creates the panel control.
-     * 
-     * @param parent the parent composite
-     * @return the created control
-     */
-    
-    @Override
-    public Control createControl( final Composite parent )
-    {
-        this.rootComposite = new Composite( parent, SWT.NONE );
-        this.rootComposite.setLayout( gl( 1, 0, 0 ) );
-        
-        final Composite tableComposite = new Composite( this.rootComposite, SWT.NONE );
-        tableComposite.setLayoutData( gdhfill() );
-        tableComposite.setLayout( gl( 2, 0, 0 ) );
-        
-        final Table libsTable = new Table( tableComposite, SWT.CHECK | SWT.BORDER );
-        libsTable.setLayoutData( gdhhint( gdhfill(), 60 ) );
-        
-        this.libsTableViewer = new CheckboxTableViewer( libsTable );
-        this.libsTableViewer.setContentProvider( new LibrariesContentProvider() );
-        this.libsTableViewer.setLabelProvider( new LibrariesLabelProvider() );
-        this.libsTableViewer.setComparator( new ViewerComparator() );
-        this.libsTableViewer.setInput( new Object() );
-        
-        final UserLibraryProviderInstallOperationConfig cfg 
-            = (UserLibraryProviderInstallOperationConfig) getOperationConfig();
-    
-        this.libsTableViewer.setCheckedElements( cfg.getLibraryNames().toArray() );
-        
-        this.libsTableViewer.addCheckStateListener
-        (
-            new ICheckStateListener()
-            {
-                public void checkStateChanged( final CheckStateChangedEvent event )
-                {
-                    final List<String> libs = new ArrayList<String>();
-                    
-                    for( Object element : UserLibraryProviderInstallPanel.this.libsTableViewer.getCheckedElements() )
-                    {
-                        libs.add( (String) element );
-                    }
-                    
-                    cfg.setLibraryNames( libs );
-                }
-            }
-        );
-        
-        final IPropertyChangeListener listener = new IPropertyChangeListener()
-        {
-            public void propertyChanged( final String property,
-                                         final Object oldValue,
-                                         final Object newValue )
-            {
-                handleLibraryNamesChanged();
-            }
-        };
-        
-        cfg.addListener( listener, UserLibraryProviderInstallOperationConfig.PROP_LIBRARY_NAMES );
-        
-        final Image manageLibrariesImage = getImageDescriptor( IMG_PATH_BUTTON_MANAGE_LIBRARIES ).createImage();
-        final Image downloadLibraryImage = getImageDescriptor( IMG_PATH_BUTTON_DOWNLOAD ).createImage();
-        
-        final Menu menu = new Menu( libsTable );
-        libsTable.setMenu( menu );
-        
-        final ToolBar toolBar = new ToolBar( tableComposite, SWT.FLAT | SWT.VERTICAL );
-        toolBar.setLayoutData( gdvfill() );
-        
-        final SelectionAdapter manageLibrariesListener = new SelectionAdapter()
-        {
-            @Override
-            public void widgetSelected( final SelectionEvent event )
-            {
-                final String id = UserLibraryPreferencePage.ID;
-                final Shell shell = libsTable.getShell();
-                
-                final PreferenceDialog dialog 
-                    = PreferencesUtil.createPreferenceDialogOn( shell, id, new String[] { id }, null );
-                
-                if( dialog.open() == Window.OK )
-                {
-                    UserLibraryProviderInstallPanel.this.libsTableViewer.refresh();
-                    
-                    // We need to send an event up the listener chain since validation needs to be
-                    // refreshed. This not an ideal solution, but it does work. The name of the 
-                    // property is not important since the listener that does validation is global.
-                    
-                    final List<String> libNames = cfg.getLibraryNames();
-                    cfg.notifyListeners( "validation", libNames, libNames ); //$NON-NLS-1$
-                }
-            }
-        };
-
-        final MenuItem manageLibrariesMenuItem = new MenuItem( menu, SWT.PUSH );
-        manageLibrariesMenuItem.setText( Resources.manageLibrariesMenuItem );
-        manageLibrariesMenuItem.setImage( manageLibrariesImage );
-        manageLibrariesMenuItem.addSelectionListener( manageLibrariesListener );
-
-        final ToolItem manageLibrariesButton = new ToolItem( toolBar, SWT.PUSH );
-        manageLibrariesButton.setImage( manageLibrariesImage );
-        manageLibrariesButton.setToolTipText( Resources.manageLibrariesButtonToolTip );
-        manageLibrariesButton.addSelectionListener( manageLibrariesListener );
-        
-        final SelectionAdapter downloadLibraryListener = new SelectionAdapter()
-        {
-            @Override
-            public void widgetSelected( final SelectionEvent event )
-            {
-                final UserLibraryProviderInstallOperationConfig cfg
-                    = (UserLibraryProviderInstallOperationConfig) getOperationConfig();
-                
-                final String downloadedLibraryName = DownloadLibraryWizard.open( cfg);
-                
-                if( downloadedLibraryName != null )
-                {
-                    refreshLibrariesList();
-                    cfg.addLibraryName( downloadedLibraryName );
-                }
-            }
-        };
-
-        this.downloadLibraryMenuItem = new MenuItem( menu, SWT.PUSH );
-        this.downloadLibraryMenuItem.setText( Resources.downloadLibraryMenuItem );
-        this.downloadLibraryMenuItem.setImage( downloadLibraryImage );
-        this.downloadLibraryMenuItem.setEnabled( this.downloadCommandEnabled );
-        this.downloadLibraryMenuItem.addSelectionListener( downloadLibraryListener );
-
-        this.downloadLibraryButton = new ToolItem( toolBar, SWT.PUSH );
-        this.downloadLibraryButton.setImage( downloadLibraryImage );
-        this.downloadLibraryButton.setToolTipText( Resources.downloadLibraryButtonToolTip );
-        this.downloadLibraryButton.setEnabled( this.downloadCommandEnabled );
-        this.downloadLibraryButton.addSelectionListener( downloadLibraryListener );
-        
-        final Control footerControl = createFooter( this.rootComposite );
-        
-        if( footerControl != null )
-        {
-            footerControl.setLayoutData( gdhfill() );
-        }
-        
-        this.rootComposite.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent event )
-                {
-                    cfg.removeListener( listener );
-                    manageLibrariesImage.dispose();
-                    downloadLibraryImage.dispose();
-                }
-            }
-        );
-        
-        return this.rootComposite;
-    }
-    
-    /**
-     * This method can be overridden to create a control beneath the libraries table. The default
-     * implementation doesn't create a control and returns <code>null</code>.
-     * 
-     * @param parent the parent composite 
-     * @return the created control
-     */
-    
-    protected Control createFooter( final Composite parent )
-    {
-        return createControlNextToManageHyperlink( parent );
-    }
-
-    /**
-     * @deprecated override createFooter method instead
-     */
-    
-    protected Control createControlNextToManageHyperlink( final Composite parent )
-    {
-        return null;
-    }
-
-    /**
-     * Controls enablement of the download command. This can be useful to extenders
-     * of this class. The download command might be surfaced to users as a button,
-     * a menu item or via other means. This method controls enablement of all of these
-     * manifestations.
-     * 
-     * @param enabled <code>true</code>, if the download command should be enabled and
-     *   <code>false</code> otherwise
-     */
-    
-    protected void setDownloadCommandEnabled( final boolean enabled )
-    {
-        this.downloadCommandEnabled = enabled;
-        
-        if( this.downloadLibraryButton != null )
-        {
-            this.downloadLibraryButton.setEnabled( enabled );
-        }
-        
-        if( this.downloadLibraryMenuItem != null )
-        {
-            this.downloadLibraryMenuItem.setEnabled( enabled );
-        }
-    }
-
-    private void handleLibraryNamesChanged()
-    {
-        if( this.rootComposite.getDisplay().getThread() != Thread.currentThread() )
-        {
-            this.rootComposite.getDisplay().asyncExec
-            (
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleLibraryNamesChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        final UserLibraryProviderInstallOperationConfig cfg 
-            = (UserLibraryProviderInstallOperationConfig) getOperationConfig();
-
-        this.libsTableViewer.setCheckedElements( cfg.getLibraryNames().toArray() );        
-    }
-    
-    private void refreshLibrariesList()
-    {
-        this.libsTableViewer.refresh();
-    }
-    
-    private static final class LibrariesContentProvider
-    
-        implements IStructuredContentProvider
-        
-    {
-
-        public Object[] getElements( Object inputElement )
-        {
-            final UserLibraryManager userLibManager = JavaModelManager.getUserLibraryManager();
-            return userLibManager.getUserLibraryNames();
-        }
-
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldInput,
-                                  final Object newInput )
-        {
-        }
-        
-        public void dispose()
-        {
-        }
-    }
-    
-    private static final class LibrariesLabelProvider
-    
-        extends LabelProvider
-        
-    {
-        private final Image libraryImage = getImageDescriptor( IMG_PATH_OBJECTS_LIBRARY ).createImage();
-        
-        public Image getImage( final Object element )
-        {
-            return this.libraryImage;
-        }
-
-        public String getText( final Object element )
-        {
-            return (String) element;
-        }
-
-        @Override
-        public void dispose()
-        {
-            this.libraryImage.dispose();
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String manageLibrariesMenuItem;
-        public static String manageLibrariesButtonToolTip;
-        public static String downloadLibraryMenuItem;
-        public static String downloadLibraryButtonToolTip;
-
-        static
-        {
-            initializeMessages( UserLibraryProviderInstallPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/UserLibraryProviderInstallPanel.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/UserLibraryProviderInstallPanel.properties
deleted file mode 100644
index 324c7ee..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/UserLibraryProviderInstallPanel.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-manageLibrariesMenuItem = Manage libraries...
-manageLibrariesButtonToolTip = Manage libraries...
-downloadLibraryMenuItem = Download library...
-downloadLibraryButtonToolTip = Download library...
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizard.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizard.java
deleted file mode 100644
index febdab7..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizard.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov.user.internal;
-
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.log;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig;
-import org.eclipse.jst.common.project.facet.core.libprov.user.internal.DownloadableLibrariesExtensionPoint;
-import org.eclipse.jst.common.project.facet.core.libprov.user.internal.DownloadableLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class DownloadLibraryWizard 
-
-    extends Wizard 
-    
-{
-    private List<DownloadableLibrary> libraries;
-    private DownloadLibraryWizardMainPage mainPage;
-    private DownloadLibraryWizardLicensePage licensePage;
-    private String downloadedLibraryName;
-    
-    private DownloadLibraryWizard( final List<DownloadableLibrary> libraries ) 
-    {
-        this.libraries = libraries;
-        
-        setWindowTitle( "Download Library" ); //$NON-NLS-1$
-        setNeedsProgressMonitor( true );
-    }
-    
-    public static String open( final UserLibraryProviderInstallOperationConfig cfg )
-    {
-        final Shell shell = Display.getDefault().getActiveShell();
-        final List<DownloadableLibrary> libraries = new ArrayList<DownloadableLibrary>();
-        
-        try
-        {
-            final IRunnableWithProgress operation = new IRunnableWithProgress()
-            {
-                public void run( IProgressMonitor monitor ) 
-                
-                    throws InvocationTargetException, InterruptedException
-                    
-                {
-                    final List<DownloadableLibrary> libs 
-                        = DownloadableLibrariesExtensionPoint.list( cfg, monitor );
-                    
-                    if( libs == null )
-                    {
-                        throw new InterruptedException();
-                    }
-                    else
-                    {
-                        libraries.addAll( libs );
-                    }
-                }
-            };
-            
-            ( new ProgressMonitorDialog( shell ) ).run( true, true, operation );
-        }
-        catch( InvocationTargetException e )
-        {
-            log( e );
-            return null;
-        }
-        catch( InterruptedException e )
-        {
-            return null;
-        }
-        
-        final DownloadLibraryWizard wizard = new DownloadLibraryWizard( libraries );
-        final WizardDialog dlg = new WizardDialog( Display.getDefault().getActiveShell(), wizard );
-        
-        if( dlg.open() == Window.OK )
-        {
-            return wizard.downloadedLibraryName;
-        }
-        else
-        {
-            return null;
-        }
-    }
-    
-    public DownloadLibraryWizardMainPage getMainPage()
-    {
-        return this.mainPage;
-    }
-    
-    public DownloadLibraryWizardLicensePage getLicensePage()
-    {
-        return this.licensePage;
-    }
-    
-    public DownloadableLibrary getSelectedLibrary()
-    {
-        return this.mainPage.getSelectedLibrary();
-    }
-    
-    public String getLibraryName()
-    {
-        return this.mainPage.getLibraryName();
-    }
-    
-    public String getDownloadDestination()
-    {
-        return this.mainPage.getDownloadDestination();
-    }
-    
-    public void addPages() 
-    {
-        this.mainPage = new DownloadLibraryWizardMainPage( this, this.libraries );
-        addPage( this.mainPage );
-        
-        this.licensePage = new DownloadLibraryWizardLicensePage();
-        addPage( this.licensePage );
-    }
-    
-    @Override
-    public IWizardPage getNextPage( final IWizardPage page )
-    {
-        if( page == this.mainPage )
-        {
-            final DownloadableLibrary library = getSelectedLibrary();
-            
-            if( library != null && library.getLicenseUrl() != null )
-            {
-                return this.licensePage;
-            }
-        }
-
-        return null;
-    }
-
-    public boolean performFinish() 
-    {
-        final DownloadableLibrary library = getSelectedLibrary();
-        final String localLibraryName = getLibraryName();
-        final String dest = getDownloadDestination();
-        final File destFolder = new File( dest );
-        
-        try 
-        {
-            getContainer().run
-            (
-                true, true, 
-                new IRunnableWithProgress() 
-                {
-                    public void run( final IProgressMonitor monitor ) 
-                    
-                        throws InvocationTargetException, InterruptedException
-                        
-                    {
-                        try 
-                        {
-                            library.download( destFolder, localLibraryName, monitor );
-                        } 
-                        catch( CoreException e ) 
-                        {
-                            throw new InvocationTargetException( e );
-                        } 
-                        
-                        DownloadLibraryWizard.this.downloadedLibraryName = localLibraryName;
-                    }
-                }
-            );
-        }
-        catch( InvocationTargetException e ) 
-        {
-            final Throwable cause = getRootCause( e );
-            MessageDialog.openError( getShell(), Resources.transferErrorDialogTitle, cause.getMessage() );
-        }
-        catch( InterruptedException e ) {} 
-        
-        return true;
-    }
-    
-    private static Throwable getRootCause( final Throwable e )
-    {
-        Throwable cause = e.getCause();
-        
-        if( cause == null && e instanceof CoreException )
-        {
-            cause = ( (CoreException) e ).getStatus().getException();
-        }
-        
-        if( cause != null )
-        {
-            return getRootCause( cause );
-        }
-        else
-        {
-            return e;
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String transferErrorDialogTitle;
-    
-        static
-        {
-            initializeMessages( DownloadLibraryWizard.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizard.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizard.properties
deleted file mode 100644
index cfdf208..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizard.properties
+++ /dev/null
@@ -1 +0,0 @@
-transferErrorDialogTitle = Transfer Failed
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardLicensePage.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardLicensePage.java
deleted file mode 100644
index 8cce1de..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardLicensePage.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov.user.internal;
-
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_WIZBAN_DOWNLOAD_LIBRARY;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.getImageDescriptor;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.common.project.facet.core.libprov.user.internal.DownloadableLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class DownloadLibraryWizardLicensePage 
-
-    extends WizardPage 
-    
-{
-    private Browser browser;
-    private Button acceptLicenseCheckbox;
-    
-    public DownloadLibraryWizardLicensePage() 
-    {
-        super( "DownloadLibraryWizardLicensePage" ); //$NON-NLS-1$
-        
-        setTitle( Resources.pageTitle );
-        setDescription( Resources.pageDescription );
-        setImageDescriptor( getImageDescriptor( IMG_PATH_WIZBAN_DOWNLOAD_LIBRARY ) );
-    }
-    
-    public void createControl( final Composite parent ) 
-    {
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( gl( 1 ) );
-        
-        this.browser = new Browser( composite, SWT.BORDER );
-        this.browser.setLayoutData( gdfill() );
-        
-        this.acceptLicenseCheckbox = new Button( composite, SWT.CHECK );
-        this.acceptLicenseCheckbox.setLayoutData( gd() );
-        this.acceptLicenseCheckbox.setText( Resources.acceptLicenseCheckboxLabel );
-        
-        this.acceptLicenseCheckbox.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected( final SelectionEvent event )
-                {
-                    getContainer().updateButtons();
-                }
-            }
-        );
-        
-        setControl( composite );
-    }
-    
-    @Override
-    public boolean isPageComplete()
-    {
-        return ( this.acceptLicenseCheckbox.getSelection() == true );
-    }
-    
-    public void setLibrary( final DownloadableLibrary library )
-    {
-        final String url = ( library == null ? null : library.getLicenseUrl() );
-        
-        this.browser.setUrl( url != null ? url : "" ); //$NON-NLS-1$
-        this.acceptLicenseCheckbox.setSelection( url != null ? false : true );
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String pageTitle;
-        public static String pageDescription;
-        public static String acceptLicenseCheckboxLabel;
-    
-        static
-        {
-            initializeMessages( DownloadLibraryWizardLicensePage.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardLicensePage.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardLicensePage.properties
deleted file mode 100644
index a4c9426..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardLicensePage.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pageTitle = Library License
-pageDescription = The selected library has license terms that need to be accepted prior to downloading the library.
-acceptLicenseCheckboxLabel = I accept the terms of this license.
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardMainPage.java b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardMainPage.java
deleted file mode 100644
index dd8a0ed..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardMainPage.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.jst.common.project.facet.ui.libprov.user.internal;
-
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.IMG_PATH_WIZBAN_DOWNLOAD_LIBRARY;
-import static org.eclipse.jst.common.project.facet.ui.internal.FacetedProjectFrameworkJavaExtUiPlugin.getImageDescriptor;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import java.io.File;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.UserLibraryManager;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.common.project.facet.core.libprov.user.internal.DownloadableLibrary;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-@SuppressWarnings( "restriction" )
-
-public final class DownloadLibraryWizardMainPage 
-
-    extends WizardPage 
-    
-{
-    private final DownloadLibraryWizard wizard;
-    private final List<DownloadableLibrary> libraries;
-    
-    private TableViewer librariesTableViewer;
-    private Table librariesTable;
-    private Label libraryNameLabel;
-    private Text libraryNameTextField;
-    private Label downloadDestinationLabel;
-    private Text downloadDestinationTextField;
-    private Button downloadDestinationBrowseButton;
-    
-    public DownloadLibraryWizardMainPage( final DownloadLibraryWizard wizard,
-                                          final List<DownloadableLibrary> libraries ) 
-    {
-        super( "DownloadableLibrariesWizardMainPage" ); //$NON-NLS-1$
-        
-        this.wizard = wizard;
-        this.libraries = libraries;
-        
-        setTitle( Resources.pageTitle );
-        setDescription( Resources.pageDescription );
-        setImageDescriptor( getImageDescriptor( IMG_PATH_WIZBAN_DOWNLOAD_LIBRARY ) );
-    }
-    
-    public DownloadableLibrary getSelectedLibrary()
-    {
-        final IStructuredSelection sel = (IStructuredSelection) this.librariesTableViewer.getSelection();
-        return (DownloadableLibrary) sel.getFirstElement();
-    }
-    
-    public String getLibraryName()
-    {
-        return this.libraryNameTextField.getText().trim();
-    }
-    
-    public String getDownloadDestination()
-    {
-        return this.downloadDestinationTextField.getText().trim();
-    }
-    
-    private List<DownloadableLibrary> getLibraries()
-    {
-        return this.libraries;
-    }
-    
-    public void createControl( final Composite parent ) 
-    {
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( gl( 2 ) );
-        
-        this.librariesTableViewer = new TableViewer( composite, SWT.BORDER | SWT.FULL_SELECTION );
-        this.librariesTable = this.librariesTableViewer.getTable();
-        
-        this.librariesTable.setLayoutData( gdhspan( gdfill(), 2 ) );
-        this.librariesTable.setLinesVisible( false );
-        this.librariesTable.setHeaderVisible( true );
-        
-        final TableViewerColumn libraryNameViewerColumn = new TableViewerColumn( this.librariesTableViewer, SWT.NONE );
-        final TableColumn libraryNameColumn = libraryNameViewerColumn.getColumn();
-        
-        libraryNameColumn.setText( Resources.libraryNameColumnTitle );
-        libraryNameColumn.setResizable( true );
-        libraryNameColumn.setWidth( 300 );
-        
-        libraryNameViewerColumn.setLabelProvider
-        (
-            new ColumnLabelProvider()
-            {
-                @Override
-                public String getText( final Object element )
-                {
-                    final DownloadableLibrary library = (DownloadableLibrary) element;
-                    return library.getName();
-                }
-            }
-        );
-        
-        final TableViewerColumn downloadProviderViewerColumn = new TableViewerColumn( this.librariesTableViewer, SWT.NONE );
-        final TableColumn downloadProviderColumn = downloadProviderViewerColumn.getColumn();
-        
-        downloadProviderColumn.setText( Resources.downloadProviderColumnTitle );
-        downloadProviderColumn.setResizable( true );
-        downloadProviderColumn.setWidth( 300 );
-        
-        downloadProviderViewerColumn.setLabelProvider
-        (
-            new ColumnLabelProvider()
-            {
-                @Override
-                public String getText( final Object element )
-                {
-                    final DownloadableLibrary library = (DownloadableLibrary) element;
-                    return library.getDownloadProvider();
-                }
-            }
-        );
-
-        final IStructuredContentProvider contentProvider = new IStructuredContentProvider()
-        {
-            public Object[] getElements( final Object inputElement )
-            {
-                return getLibraries().toArray();
-            }
-
-            public void dispose()
-            {
-            }
-
-            public void inputChanged( final Viewer viewer,
-                                      final Object oldInput,
-                                      final Object newInput )
-            {
-            }
-        };
-        
-        final ViewerSorter nameAscendingSorter = new ViewerSorter()
-        {
-            @Override
-            public int compare( final Viewer viewer, 
-                                final Object lib1, 
-                                final Object lib2 )
-            {
-                final String name1 = ( (DownloadableLibrary) lib1 ).getName();
-                final String name2 = ( (DownloadableLibrary) lib2 ).getName();
-
-                return name1.compareTo( name2 );
-            }
-        };
-        
-        final ViewerSorter nameDescendingSorter = new ViewerSorter()
-        {
-            @Override
-            public int compare( final Viewer viewer, 
-                                final Object lib1, 
-                                final Object lib2 )
-            {
-                final String name1 = ( (DownloadableLibrary) lib1 ).getName();
-                final String name2 = ( (DownloadableLibrary) lib2 ).getName();
-
-                return name2.compareTo( name1 );
-            }
-        };
-        
-        final ViewerSorter providerAscendingSorter = new ViewerSorter()
-        {
-            @Override
-            public int compare( final Viewer viewer, 
-                                final Object lib1, 
-                                final Object lib2 )
-            {
-                final String provider1 = ( (DownloadableLibrary) lib1 ).getDownloadProvider();
-                final String provider2 = ( (DownloadableLibrary) lib2 ).getDownloadProvider();
-
-                return provider1.compareTo( provider2 );
-            }
-        };
-        
-        
-        final ViewerSorter providerDescendingSorter = new ViewerSorter()
-        {
-            @Override
-            public int compare( final Viewer viewer, 
-                                final Object lib1, 
-                                final Object lib2 )
-            {
-                final String provider1 = ( (DownloadableLibrary) lib1 ).getDownloadProvider();
-                final String provider2 = ( (DownloadableLibrary) lib2 ).getDownloadProvider();
-
-                return provider2.compareTo( provider1 );
-            }
-        };
-        
-        this.librariesTableViewer.setSorter( nameAscendingSorter );
-        this.librariesTable.setSortColumn( libraryNameColumn );
-        this.librariesTable.setSortDirection( SWT.UP );
-        
-        libraryNameColumn.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected( final SelectionEvent event )
-                {
-                    final TableViewer tableViewer = DownloadLibraryWizardMainPage.this.librariesTableViewer;
-                    final Table table = tableViewer.getTable();
-                    
-                    if( tableViewer.getSorter() == nameAscendingSorter )
-                    {
-                        tableViewer.setSorter( nameDescendingSorter );
-                        table.setSortDirection( SWT.DOWN );
-                    }
-                    else
-                    {
-                        tableViewer.setSorter( nameAscendingSorter );
-                        table.setSortColumn( libraryNameColumn );
-                        table.setSortDirection( SWT.UP );
-                    }
-                }
-            }
-        );
-        
-        downloadProviderColumn.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected( final SelectionEvent event )
-                {
-                    final TableViewer tableViewer = DownloadLibraryWizardMainPage.this.librariesTableViewer;
-                    final Table table = tableViewer.getTable();
-                    
-                    if( tableViewer.getSorter() == providerAscendingSorter )
-                    {
-                        tableViewer.setSorter( providerDescendingSorter );
-                        table.setSortDirection( SWT.DOWN );
-                    }
-                    else
-                    {
-                        tableViewer.setSorter( providerAscendingSorter );
-                        table.setSortColumn( downloadProviderColumn );
-                        table.setSortDirection( SWT.UP );
-                    }
-                }
-            }
-        );
-        
-        this.librariesTableViewer.setContentProvider( contentProvider );
-        this.librariesTableViewer.setInput( new Object() );
-        
-        this.librariesTableViewer.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent event )
-                {
-                    handleLibrarySelectionChanged();
-                }
-            }
-        );
-        
-        final ModifyListener modifyListener = new ModifyListener()
-        {
-            public void modifyText( final ModifyEvent event )
-            {
-                updateValidation();
-            }
-        };
-        
-        this.libraryNameLabel = new Label( composite, SWT.NONE );
-        this.libraryNameLabel.setLayoutData( gd() );
-        this.libraryNameLabel.setText( Resources.localLibraryNameLabel );
-        
-        this.libraryNameTextField = new Text( composite, SWT.BORDER );
-        this.libraryNameTextField.setLayoutData( gdhfill() );
-        this.libraryNameTextField.addModifyListener( modifyListener );
-        
-        this.downloadDestinationLabel = new Label( composite, SWT.NONE );
-        this.downloadDestinationLabel.setLayoutData( gd() );
-        this.downloadDestinationLabel.setText( Resources.downloadDestinationLabel );
-        
-        final Composite downloadDestinationComposite = new Composite( composite, SWT.NONE );
-        downloadDestinationComposite.setLayoutData( gdhfill() );
-        downloadDestinationComposite.setLayout( gl( 2, 0, 0 ) );
-        
-        this.downloadDestinationTextField = new Text( downloadDestinationComposite, SWT.BORDER );
-        this.downloadDestinationTextField.setLayoutData( gdhfill() );
-        this.downloadDestinationTextField.addModifyListener( modifyListener );
-        
-        this.downloadDestinationBrowseButton = new Button( downloadDestinationComposite, SWT.PUSH );
-        this.downloadDestinationBrowseButton.setLayoutData( gd() );
-        this.downloadDestinationBrowseButton.setText( Resources.browseButtonLabel );
-        
-        this.downloadDestinationBrowseButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected( final SelectionEvent event )
-                {
-                    handleBrowseForDestination();
-                }
-            }
-        );
-        
-        setControl( composite );
-        updateValidation();
-    }
-    
-    private void handleLibrarySelectionChanged()
-    {
-        final DownloadableLibrary lib = getSelectedLibrary();
-        
-        if( lib == null )
-        {
-            this.libraryNameTextField.setText( "" ); //$NON-NLS-1$
-            this.downloadDestinationTextField.setText( "" ); //$NON-NLS-1$
-        }
-        else
-        {
-            String localLibraryName = null;
-            
-            int counter = -1;
-            
-            do
-            {
-                counter++;
-
-                localLibraryName = lib.getName();
-                
-                if( counter > 0 )
-                {
-                    localLibraryName = localLibraryName + " (" + counter + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-                }
-            }
-            while( isUserLibraryDefined( localLibraryName ) );
-            
-            this.libraryNameTextField.setText( localLibraryName );
-            
-            final IWorkspace ws = ResourcesPlugin.getWorkspace();
-            final IPath baseDestPath = ws.getRoot().getLocation().append( "libraries" ); //$NON-NLS-1$
-            IPath destPath = null;
-            
-            counter = -1;
-            
-            do
-            {
-                counter++;
-                
-                String name = lib.getName();
-                
-                if( counter > 0 )
-                {
-                    name = name + " (" + counter + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-                }
-                
-                destPath = baseDestPath.append( name );
-            }
-            while( destPath.toFile().exists() );
-            
-            this.downloadDestinationTextField.setText( destPath.toOSString() );
-        }
-        
-        this.wizard.getLicensePage().setLibrary( lib );
-        
-        updateValidation();
-        getContainer().updateButtons();
-    }
-    
-    private void handleBrowseForDestination()
-    {
-        File initialLocation = new File( this.downloadDestinationTextField.getText() );
-        
-        if( initialLocation.isAbsolute() )
-        {
-            while( initialLocation != null && ! initialLocation.exists() )
-            {
-                initialLocation = initialLocation.getParentFile();
-            }
-        }
-        else
-        {
-            initialLocation = null;
-        }
-        
-        final DirectoryDialog dlg = new DirectoryDialog( Display.getDefault().getActiveShell() );
-        dlg.setMessage( Resources.destinationFolderBrowseDialogMessage );
-        dlg.setFilterPath( initialLocation.getPath() );
-        
-        final String result = dlg.open();
-        
-        if( result != null )
-        {
-            this.downloadDestinationTextField.setText( result );
-        }
-    }
-    
-    private void updateValidation()
-    {
-        final boolean enabled;
-
-        if( getSelectedLibrary() == null )
-        {
-            setMessage( null );
-            setPageComplete( false );
-            
-            enabled = false;
-        }
-        else
-        {
-            enabled = true;
-            
-            final String localLibraryName = getLibraryName();
-            final String destPath = getDownloadDestination();
-            
-            if( localLibraryName.length() == 0 )
-            {
-                setMessage( Resources.nameMustBeSpecified, ERROR );
-                setPageComplete( false );
-            }
-            else if( destPath.length() == 0 )
-            {
-                setMessage( Resources.destinationFolderMustBeSpecified, ERROR );
-                setPageComplete( false );
-            }
-            else
-            {
-                if( isUserLibraryDefined( localLibraryName ) )
-                {
-                    setMessage( Resources.nameConflict, WARNING );
-                    setPageComplete( true );
-                }
-                else
-                {
-                    final File destFolder = new File( destPath );
-                    
-                    if( destFolder.exists() )
-                    {
-                        setMessage( Resources.destinationFolderExists, WARNING );
-                        setPageComplete( true );
-                    }
-                    else if( ! destFolder.isAbsolute() )
-                    {
-                        setMessage( Resources.destinationFolderPathMustBeAbsolute, ERROR );
-                        setPageComplete( false );
-                    }
-                    else
-                    {
-                        setMessage( null );
-                        setPageComplete( true );
-                    }
-                }
-            }
-        }
-        
-        this.libraryNameLabel.setEnabled( enabled );
-        this.libraryNameTextField.setEnabled( enabled );
-        this.downloadDestinationLabel.setEnabled( enabled );
-        this.downloadDestinationTextField.setEnabled( enabled );
-        this.downloadDestinationBrowseButton.setEnabled( enabled );
-    }
-    
-    private static boolean isUserLibraryDefined( final String name )
-    {
-        final UserLibraryManager userLibraryManager = JavaModelManager.getUserLibraryManager();
-        return ( userLibraryManager.getUserLibrary( name ) != null );
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String pageTitle;
-        public static String pageDescription;
-        public static String libraryNameColumnTitle;
-        public static String downloadProviderColumnTitle;
-        public static String localLibraryNameLabel;
-        public static String downloadDestinationLabel;
-        public static String nameMustBeSpecified;
-        public static String nameConflict;
-        public static String destinationFolderMustBeSpecified;
-        public static String destinationFolderExists;
-        public static String destinationFolderPathMustBeAbsolute;
-        public static String destinationFolderBrowseDialogMessage;
-        public static String browseButtonLabel;
-    
-        static
-        {
-            initializeMessages( DownloadLibraryWizardMainPage.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardMainPage.properties b/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardMainPage.properties
deleted file mode 100644
index f61d3ec..0000000
--- a/plugins/org.eclipse.jst.common.project.facet.ui/src/org/eclipse/jst/common/project/facet/ui/libprov/user/internal/DownloadLibraryWizardMainPage.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-pageTitle = Download Library
-pageDescription = Select a library to download from the specified provider.
-libraryNameColumnTitle = Library
-downloadProviderColumnTitle = Download Provider
-localLibraryNameLabel = Library name:
-downloadDestinationLabel = Download destination:
-nameMustBeSpecified = Library name must be specified.
-nameConflict = A library with the specified name already exists. The existing definition will be overwritten.
-destinationFolderMustBeSpecified = Destination folder must be specified.
-destinationFolderExists = The specified destination folder already exists. Any contained files will be deleted.
-destinationFolderPathMustBeAbsolute = Destination folder path must be absolute.
-destinationFolderBrowseDialogMessage = Selection the destination folder where the downloaded library will be placed.
-browseButtonLabel = Browse...
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/.classpath b/plugins/org.eclipse.wst.common.fproj.sdk/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/.project b/plugins/org.eclipse.wst.common.fproj.sdk/.project
deleted file mode 100644
index 3ec22af..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.fproj.sdk</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.wst.common.fproj.sdk/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.fproj.sdk/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bcc26d6..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Wed Jan 31 15:32:12 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.fproj.sdk/META-INF/MANIFEST.MF
deleted file mode 100644
index a12503f..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.fproj.sdk; singleton:=true
-Bundle-Version: 1.4.100.qualifier
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/about.html b/plugins/org.eclipse.wst.common.fproj.sdk/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/about.ini b/plugins/org.eclipse.wst.common.fproj.sdk/about.ini
deleted file mode 100644
index 8949d8a..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/about.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-aboutText=%blurb
-featureImage=images/wtp-32.png
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/about.properties b/plugins/org.eclipse.wst.common.fproj.sdk/about.properties
deleted file mode 100644
index d0938a8..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/about.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-blurb=Eclipse Faceted Project Framework SDK\n\
-\n\
-Version: {featureVersion}\n\
-\n\
-The Faceted Project Framework allows the plugin developer to think of projects \n\
-as composed of units of functionality, otherwise known as facets, that can be \n\
-added and removed by the user.\n\
-\n\
-Copyright (c) 2009 Eclipse contributors and others. All rights reserved.
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/build.properties b/plugins/org.eclipse.wst.common.fproj.sdk/build.properties
deleted file mode 100644
index 5237c90..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               images/,\
-               about.ini,\
-               about.properties
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/images/wtp-32.png b/plugins/org.eclipse.wst.common.fproj.sdk/images/wtp-32.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/images/wtp-32.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/plugin.properties b/plugins/org.eclipse.wst.common.fproj.sdk/plugin.properties
deleted file mode 100644
index 88fb3ec..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Eclipse Faceted Project Framework SDK
-providerName = Eclipse Web Tools Platform
diff --git a/plugins/org.eclipse.wst.common.fproj.sdk/src/.do-not-delete b/plugins/org.eclipse.wst.common.fproj.sdk/src/.do-not-delete
deleted file mode 100644
index e69de29..0000000
--- a/plugins/org.eclipse.wst.common.fproj.sdk/src/.do-not-delete
+++ /dev/null
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/.classpath b/plugins/org.eclipse.wst.common.project.facet.doc.api/.classpath
deleted file mode 100644
index a6ee260..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry excluding=".do-not-delete" kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/.project b/plugins/org.eclipse.wst.common.project.facet.doc.api/.project
deleted file mode 100644
index 1018d45..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.project.facet.doc.api</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.wst.common.project.facet.doc.api/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.project.facet.doc.api/META-INF/MANIFEST.MF
deleted file mode 100644
index 2dc2f8f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.project.facet.doc.api;singleton:=true
-Bundle-Version: 1.4.100.qualifier
-Bundle-Localization: plugin
-Bundle-ClassPath: .
-Require-Bundle: org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.3.0,2.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/about.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/build.properties b/plugins/org.eclipse.wst.common.project.facet.doc.api/build.properties
deleted file mode 100644
index dc7fa72..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-customBuildCallbacks = customBuildCallbacks.xml
-customBuildCallbacks.failonerror = true
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               guide/,\
-               plugin.properties,\
-               plugin.xml,\
-               toc.xml,\
-               reference/,\
-               .,\
-               about.html
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/customBuildCallbacks.xml b/plugins/org.eclipse.wst.common.project.facet.doc.api/customBuildCallbacks.xml
deleted file mode 100644
index d521f24..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/customBuildCallbacks.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<!-- ===================================================================== -->
-<!-- Custom targets called from a project's generated build.xml            -->
-<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.-->
-<!-- ===================================================================== -->
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="This file must be called with explicit targets" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.jars                              -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.jars                               -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.jars">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target build.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="pre.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target build.sources                            -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder to contain the build results           -->
-	<!-- ===================================================================== -->
-	<target name="post.build.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the compilation target <name>                      -->
-	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
-	<!-- Available parameters :                                                -->
-	<!--   source.foldern : n = 1 ... N, the source folders                    -->
-	<!--   target.folder  : where the results of the compilation go            -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="pre.@dot">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do during the compilation target <name>, after the compile   -->
-	<!-- but before jaring.  Substitute "name" with the name of the compilation-->
-	<!-- target, eg @dot                                                       -->
-	<!-- Available parameters :                                                -->
-	<!--   source.foldern : n = 1 ... N, the source folders                    -->
-	<!--   target.folder  : where the results of the compilation go            -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-	<target name="post.compile.@dot">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the compilation target <name>                       -->
-	<!-- Substitute "name" with the name of the compilation target, eg @dot    -->
-	<!-- Available parameters :                                                -->
-	<!--   jar.location - the location of the compilation results              -->
-	<!--   <name>.classpath : name = name of the compilation target. A         -->
-	<!--                      reference to the classpath structure.            -->
-	<!-- ===================================================================== -->
-
-	<target name="post.@dot">
-		<ant
-		  antfile="javadoc.xml"
-		  target="export-javadoc"
-		  inheritAll="true"
-		  inheritRefs="true"/>
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.bin.parts">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.bin.parts                         -->
-	<!-- Available parameters :                                                -->
-	<!--   build.result.folder - folder containing the build results           -->
-	<!--   target.folder - destination folder                                  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.sources                          -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.sources                           -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.sources">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target gather.logs                             -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.gather.logs">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target gather.logs                              -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.logs">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before the target clean                                   -->
-	<!-- Available parameters :                                                -->
-	<!--   destination.temp.folder - destination folder                        -->
-	<!-- ===================================================================== -->
-	<target name="pre.clean">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the target clean                                    -->
-	<!-- Available parameters :                                                -->
-	<!--   plugin.destination - final destination of the build                 -->
-	<!--   build.result.folder - results of the compilation                    -->
-	<!--   temp.folder - temporary folder                                      -->
-	<!-- ===================================================================== -->
-	<target name="post.clean">
-	</target>
-	
-</project>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/answers/projectFacetPreferences.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/answers/projectFacetPreferences.html
deleted file mode 100644
index 8e1d13e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/answers/projectFacetPreferences.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
-  http-equiv="Content-Type"
-  content="text/html; charset=iso-8859-1">
-<title>Managing Project Facet Preferences</title>
-<link
-  rel="stylesheet"
-  type="text/css"
-  href="../format.css">
-</head>
-
-<body>
-<p class="ueberschrift">Managing Project Facet Preferences</p>
-
-<p><b>Question: What is the best way for managing workspace and project preferences associated
-with a project facet?</b></p>
-
-<p>Faceted Project Framework can help you manage preferences associated with your facet. Two scopes
-are supported. You can store "global" preferences in workspace metadata and
-project-specific preferences in project metadata. Preferences stored at workspace level will never
-be deleted, while project-level preferences will be automatically removed when facet is uninstalled.</p>
-
-<p>To access workspace-level preferences, use the following API:</p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-FacetedProjectFramework.getPreferences( IProjectFacet facet );
-</pre></td></tr></table>
-
-<p>To access project-level preferences, use the following API:</p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-IFacetedProject.getPreferences( IProjectFacet facet );
-</pre></td></tr></table>
-
-<p>Regardless of the scope, make sure to call flush() after making the changes to make sure that
-changes are persisted to disk.</p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/description.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/description.html
deleted file mode 100644
index e3c8a66..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/description.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
-  http-equiv="Content-Type"
-  content="text/html; charset=iso-8859-1">
-<title>Checking WTP out</title>
-<link
-  rel="stylesheet"
-  type="text/css"
-  href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">Faceted Project Framework</p>
-
-<p>The Faceted Project Framework allows the plugin developer to think of 
-projects as composed of units of functionality, otherwise known as facets, that 
-can be added and removed by the user.</p>
-
-<p>Project facets are most frequently used for adding natures, builders, 
-classpath entries, and resources to a project.</p>
-
-<p>Primary Benefits</p>
-
-<ul>
-  <li>Consistent user experience.</li>
-  <li>Ability to accurately describe capabilities of the runtime platform.</li>
-</ul>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/downloads/enablement-example.zip b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/downloads/enablement-example.zip
deleted file mode 100644
index 03e7c89..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/downloads/enablement-example.zip
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/enabling-based-on-facets.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/enabling-based-on-facets.html
deleted file mode 100644
index 50ce36a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/enabling-based-on-facets.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-  
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <title>Enabling UI Elements Based on Project Facets</title>
-  <link type="text/css" rel="stylesheet" href="tutorial/tutorial.css"/>
-</head>
-
-<body>
-
-<h1 align="center">Enabling UI Elements Based on Project Facets</h1>
-
-<p>User interface elements often need to be selectively enabled based on the
-presence of a facet in a project. The two most common examples are project 
-properties pages and menu actions associated with a facet. The Faceted Project
-Framework provides a way to do that via a property tester that can be used in
-any extension point that supports the Eclipse Platform's common expression
-language.</p>
-
-<p>
-  <b>Property Name:</b> <code>org.eclipse.wst.common.project.facet.core.projectFacet</code><br/>
-  <b>Property Value:</b> <code>[facet.id](:[version.expr])?</code>
-</p>
-
-<p>As you can see from the format of the property value, you can either test
-using just the project facet id or you can also include a version expression if
-only certain versions should be matched.</p>
-
-<p>The following two examples demonstrate how the facets property tester can be
-used. To explore further, you can also download the 
-<a href="downloads/enablement-example.zip">complete runnable source</a> of these
-examples.</p>
-
-<p><b>Example 1</b></p>
-
-<p>Enables a project properties page based on the presence of a facet. Note the
-use of the <code>forcePluginActivation</code> attribute. This attribute makes
-sure that the property tester will be invoked even if the Faceted Project
-Framework plugins have not been activated yet. Omitting this attribute will cause
-the test expression to return false in that situation. Also note the use of the
-<code>adapt</code> operator to adapt the object to <code>IProject</code>. This
-is necessary as some views may represent project entities using other types. For
-instance, in the JDT's Package Explorer the projects are instances of
-<code>org.eclipse.jdt.core.IJavaProject</code>.</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="code-text">org.eclipse.ui.propertyPages</span>"&gt;
-  &lt;page
-    id="<span class="code-text">ExampleFacetPropertiesPage</span>"
-    objectClass="<span class="code-text">org.eclipse.core.resources.IProject</span>"
-    adaptable="<span class="code-text">true</span>"
-    name="<span class="code-text">Example Facet Properties</span>"
-    class="<span class="code-text">org.eclipse.wst.project.facet.examples.enablement.ExampleFacetPropertiesPage</span>"&gt;
-    &lt;enabledWhen&gt;
-      &lt;adapt type="<span class="code-text">org.eclipse.core.resources.IProject</span>"&gt;
-        &lt;test 
-          forcePluginActivation="<span class="code-text">true</span>"
-          property="<span class="code-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
-          value="<span class="code-text">example.facet1</span>"/&gt;
-      &lt;/adapt&gt;
-    &lt;/enabledWhen&gt;          
-  &lt;/page&gt;
-&lt;/extension&gt;</pre>
-</div>
-
-<p><b>Example 2</b></p>
-
-<p>Enables a menu action if either one of the two facets specified is installed
-in a project. Note the use of a version expression to match only certain versions.</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="code-text">org.eclipse.ui.popupMenus</span>"&gt;
-  &lt;objectContribution
-    id="<span class="code-text">exampleFacetPopup</span>"
-    objectClass="<span class="code-text">org.eclipse.core.resources.IProject</span>"
-    adaptable="<span class="code-text">true</span>"&gt;
-    &lt;action
-      id="<span class="code-text">exampleFacetPopupAction</span>"
-      label="<span class="code-text">Example Facet Popup</span>"
-      class="<span class="code-text">org.eclipse.wst.project.facet.examples.enablement.ExampleFacetPopupAction</span>"
-      menubarPath="<span class="code-text">additions</span>"
-      enablesFor="<span class="code-text">+</span>"&gt;
-    &lt;/action&gt;
-    &lt;enablement&gt;
-      &lt;adapt type="<span class="code-text">org.eclipse.core.resources.IProject</span>"&gt;
-        &lt;or&gt;
-          &lt;test 
-            forcePluginActivation="<span class="code-text">true</span>"
-            property="<span class="code-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
-            value="<span class="code-text">example.facet1:1.0</span>"/&gt;
-          &lt;test 
-            forcePluginActivation="<span class="code-text">true</span>"
-            property="<span class="code-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
-            value="<span class="code-text">example.facet2:[1.1-2.2]</span>"/&gt;
-        &lt;/or&gt;
-      &lt;/adapt&gt;
-    &lt;/enablement&gt;
-  &lt;/objectContribution&gt;  
-&lt;/extension&gt;</pre>
-</div>
-
-<br/><br/><br/><br/>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/format.css b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/format.css
deleted file mode 100644
index c02625e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/format.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/* CSS Document */
-body {
-	font-family: Arial, Helvetica, sans-serif
-}
-
-.ueberschrift {
-	font-family: Arial, Helvetica, sans-serif;
-	font-size: x-large;
-	margin-top: 20px;
-}
-
-.code {
-	font-family: Courier, "Courier New", Arial, Helvetica, sans-serif;
-	font-size: 11px;
-	font-weight: normal;
-	line-height: 16px;
-	color: #0467B4;
-	background-color: #CCCCCC;
-	padding: 5px 7px 5px 13px;
-	border: 1px solid black;
-}
-
-.note {
-	font-size: smaller
-}
-
-.description {
-	font-family: "Times New Roman", Times, serif;
-	font-size: xx-large;
-}
-
-.schema {
-	font-style: italic;
-	font-size: large
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/listeners.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/listeners.html
deleted file mode 100644
index a9c725c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/listeners.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-  
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <title>Listening for Changes to Faceted Projects</title>
-  <link type="text/css" rel="stylesheet" href="tutorial/tutorial.css"/>
-</head>
-
-<body>
-
-<style type="text/css">
-  
-  .subHeader
-  {
-    font-size: 16px;
-    font-weight: bold;
-  }
-  
-  .eventsTableHeaderCell
-  {
-    font-weight: bold;
-    border-bottom: 1px solid #000000;
-    padding: 2px;
-  }
-  
-  .eventsTableTypeCell
-  {
-    vertical-align: top;
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 2px;
-    padding-right: 20px;
-  }
-  
-  .eventsTableInterfaceCell
-  {
-    vertical-align: top;
-    padding-top: 2px;
-    padding-bottom: 2px;
-    padding-left: 2px;
-    padding-right: 20px;
-  }
-  
-  .eventsTableDescriptionCell
-  {
-    vertical-align: top;
-    padding: 2px;
-  }
-
-</style>
-
-<h1 align="center">Listening for Changes to Faceted Projects</h1>
-
-<p>The Faceted Project Framework provides a facility that will notify any interested parties when
-a change is made to the model of a faceted project. Listeners can be registered either via a direct
-API call or via an extension point. Listeners can be global or scoped to a specific project.</p>
-
-<p class="subHeader">Events</p>
-
-<table style="border-collapse:collapse">
-
-  <tr>
-    <td class="eventsTableHeaderCell">Event Type</td>
-    <td class="eventsTableHeaderCell">Event Object Interface</td>
-    <td class="eventsTableHeaderCell">Description</td>
-  </tr>
-
-  <tr>
-    <td class="eventsTableTypeCell">PROJECT_MODIFIED</td>
-    <td class="eventsTableInterfaceCell">IFacetedProjectEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered when faceted project metadata is modified in any way. No detailed information 
-      about the change is provided. Note that while listening for PROJECT_MODIFIED events is 
-      guaranteed to catch all other events, the inverse is not true. Listing on all the other 
-      events is not guaranteed to catch all PROJECT_MODIFIED events. This is because there are 
-      circumstances when the system does not have the details about the type of the change 
-      (such as when the faceted project metadata file is modified on disk).
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">PRE_INSTALL</td>
-    <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered right before a facet is installed.
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">POST_INSTALL</td>
-    <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
-    <td>Gets triggered right after a facet is installed.</td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">PRE_UNINSTALL</td>
-    <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered right before a facet is uninstalled.
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">POST_UNINSTALL</td>
-    <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered right after a facet is uninstalled.
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">PRE_VERSION_CHANGE</td>
-    <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered right before a facet version is changed.
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">POST_VERSION_CHANGE</td>
-    <td class="eventsTableInterfaceCell">IProjectFacetActionEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered right after a facet version is changed.
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">FIXED_FACETS_CHANGED</td>
-    <td class="eventsTableInterfaceCell">IFixedFacetsChangedEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered when project's fixed facets are changed.
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">TARGETED_RUNTIMES_CHANGED</td>
-    <td class="eventsTableInterfaceCell">ITargetedRuntimesChangedEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered when the set of runtimes that the project targets is changed.
-    </td>
-  </tr>
-  
-  <tr>
-    <td class="eventsTableTypeCell">PRIMARY_RUNTIME_CHANGED</td>
-    <td class="eventsTableInterfaceCell">IPrimaryRuntimeChangedEvent</td>
-    <td class="eventsTableDescriptionCell">
-      Gets triggered when the primary targeted runtime of the project is changed.
-    </td>
-  </tr>
-    
-</table>
-
-<p class="subHeader">Registering a Listener</p>
-
-<p>All listeners have to implement <code>IFacetedProjectListener</code> interface which looks like
-this:</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.core.events;
-
-<span class="java-keyword">public interface</span> IFacetedProjectListener 
-{
-    <span class="java-keyword">void</span> handleEvent( IFacetedProjectEvent event );
-}
-</pre>
-</div>
-
-<p>Depending on the event type, it may be possible to cast the event object to a more specific
-interface in order to get details about the event. See the event table for information about which
-event object interface corresponds with which event type.</p>
-
-<p>There are three ways to register a listener:</p>
-
-<ol>
-  <li>IFacetedProject.addListener()</li>
-  <li>FacetedProjectFramework.addListener()</li>
-  <li>Extension Point: org.eclipse.wst.common.project.facet.core.listeners</p>
-</ol>
-
-<p>All of these methods allows you to specify which events the listener should be notified about. 
-Not specifying event types on registration will cause the listener to be notified about all events. 
-This is typically not desired. If a listener needs to react to any change in the project and has no 
-need to analyze specific events, it should be registered for the <code>PROJECT_MODIFIED</code> 
-event.</p>
-
-<p>The first method registers a listener that is scoped to a specific project. The last two
-register a global listener which will be notified about changes in all faceted projects that are
-present in the workspace. In most circumstances, if a global listener is needed, it should be 
-registered via the extension point rather than using <code>FacetedProjectFramework.addListener()</code>
-API. Using the extension point guarantees that the listener will not miss any events due to not
-being registered early enough. It also delays initialization of the plugin bundle containing the
-listener until an event that the listener is interested in is fired.</p>
-
-<p class="subHeader">Extension Point</p>
-
-<p>The extension point that's used for registering listeners is quite simple. Only two pices of
-information need to be supplied: the listener class name and an optional list of event types.</p>
-
-<div class="code">
-<pre class="xml-code">&lt;extension point="<span class="code-text">org.eclipse.wst.common.project.facet.core.listeners</span>"&gt;
-  &lt;listener 
-    class="<span class="code-text">{class:org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener}</span>"
-    eventTypes="<span class="code-text">{event.types}</span>"/> <i>(1 or more)</i>
-&lt;extension&gt;
-</pre>
-</div>
-
-<p>The <code>eventTypes</code> attribute value should be a comma-separated list of event types.</p>
-
-<p class="subHeader">Examples</p>
-
-<p>This example registers a very simple listener that prints out events received. The listener is
-registered several different ways for the purposes of this example.</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.mycorp.myproduct;
-
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-
-<span class="java-keyword">public final class</span> ListenerImpl <span class="java-keyword">implements</span> IFacetedProjectListener 
-{
-    <span class="java-keyword">public void</span> handleEvent( <span class="java-keyword">final</span> IFacetedProjectEvent event )
-    {
-        System.out.println( event.toString() );
-    }
-}
-</pre>
-</div>
-
-<p>The following code snippet registers the above listener on a specific project to listen for
-changes in the runtimes that the project targets.</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IFacetedProject;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-
-...
-
-IProject pj;
-
-...
-
-<span class="java-keyword">final</span> IFacetedProject fpj = ProjectFacetsManager.create( pj );
-<span class="java-keyword">final</span> ListenerImpl listener = <span class="java-keyword">new</span> ListenerImpl();
-
-fpj.addListener( listener, 
-                 IFacetedProjectEvent.Type.TARGETED_RUNTIMES_CHANGED,
-                 IFacetedProjectEvent.Type.PRIMARY_RUNTIME_CHANGED );
-                 
-...
-
-fpj.removeListener( listener );
-</pre>
-</div>
-
-<p>The following code snippet register the above listener to listen for the PRE_INSTALL and
-PRE_UNINSTALL events in all faceted projects.</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-
-...
-
-<span class="java-keyword">final</span> ListenerImpl listener = <span class="java-keyword">new</span> ListenerImpl();
-
-FacetedProjectFramework.addListener( listener, 
-                                     IFacetedProjectEvent.Type.PRE_INSTALL,
-                                     IFacetedProjectEvent.Type.PRE_UNINSTALL );
-                 
-...
-
-FacetedProjectFramework.removeListener( listener );
-</pre>
-</div>
-
-<p>The following code snippet accomplishes the same thing as the one above, except it does this
-via the extension point.</p>
-
-<div class="code">
-<pre class="xml-code">&lt;extension point="<span class="code-text">org.eclipse.wst.common.project.facet.core.listeners</span>"&gt;
-  &lt;listener class="<span class="code-text">com.mycorp.myproduct.ListenerImpl</span>" eventTypes="<span class="code-text">PRE_INSTALL,PRE_UNINSTALL</span>"/>
-&lt;extension&gt;
-</pre>
-</div>
-
-<br/><br/><br/><br/>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen01.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen01.gif
deleted file mode 100644
index 6d8bfb7..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen01.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen02.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen02.gif
deleted file mode 100644
index a481aef..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen02.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen03.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen03.gif
deleted file mode 100644
index c61e29e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen03.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen04.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen04.gif
deleted file mode 100644
index fae4b62..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen04.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen05.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen05.gif
deleted file mode 100644
index b33903e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen05.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen06.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen06.gif
deleted file mode 100644
index 977690b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen06.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen07.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen07.gif
deleted file mode 100644
index 3133e18..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen07.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen08.gif b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen08.gif
deleted file mode 100644
index e4040ca..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/images/screen08.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/materials/solution.zip b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/materials/solution.zip
deleted file mode 100644
index 499b7dc..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/materials/solution.zip
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/materials/starter.zip b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/materials/starter.zip
deleted file mode 100644
index bc20cab..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/materials/starter.zip
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/tutorial.css b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/tutorial.css
deleted file mode 100644
index 27036ad..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/tutorial.css
+++ /dev/null
@@ -1,120 +0,0 @@
-p, table, td, th {  font-family: arial, helvetica, geneva; font-size: 10pt}
-pre {  font-family: "Courier New", Courier, mono; font-size: 10pt}
-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold; line-height: 14px; margin-top: 30px}
-code {  font-family: "Courier New", Courier, mono; font-size: 10pt}
-sup {  font-family: arial,helvetica,geneva; font-size: 10px}
-h3 {  font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
-li {  font-family: arial, helvetica, geneva; font-size: 10pt}
-h1 {  font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}
-body {  font-family: arial, helvetica, geneva; font-size: 10pt; clip:   rect(   ); margin-top: 5mm; margin-left: 3mm}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-
-pre {
-    padding: 0px;
-    margin-top: 0px;
-    margin-left: 0px;
-    margin-bottom: 0px;
-    margin-right: 0px;
-    text-align: left;
-}
-
-.code {
- 	border: 1px dashed #3c78b5;
-    font-size: 11px;
-	font-family: Courier;
-    margin: 10px;
-	line-height: 13px;
-    text-align: left;
-    background-color: #f0f0f0;
-    padding: 10px;
-}
-
-.code-xml {
-  color: #000000;
-}
-
-.schema-type
-{
-  color: #009100;
-  background-color: inherit;
-}
-
-.schema-type-link a:link
-{
-  color: #009100;
-  text-decoration: none
-}
-
-.schema-type-link a:visited
-{
-  color: #009100;
-  text-decoration: none
-}
-
-.schema-control {
-  color: #009100;
-  font-style: italic;
-  background-color: inherit;
-}
-
-.code-text {
-  color: #009100;
-  background-color: inherit;
-}
-
-.context-code {
-  color: #767676;
-  background-color: inherit;
-}
-
-.xml-text
-{
-  color: #009100;
-}
-
-.java-code 
-{
-  color: #000000;
-}
-
-.java-comment 
-{
-  color: #009100;
-}
-
-.java-javadoc-keyword
-{
-  font-weight: bold;
-}
-
-.java-keyword
-{
-  color: #7f0055;
-  font-weight: bold;
-}
-
-.java-literal
-{
-  color: #009100;
-}
-
-.java-context
-{
-  color: #767676;
-}	
-
-.java-context-keyword
-{
-  font-weight: bold;
-}	
-
-.screen-shot 
-{
-    margin: 10px;
-}
-
-.block-indent 
-{
-    margin: 10px;
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/tutorial.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/tutorial.html
deleted file mode 100644
index 09625b5..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/tutorial/tutorial.html
+++ /dev/null
@@ -1,1203 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-  
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <title>Extending WTP Using Project Facets</title>
-  <link type="text/css" rel="stylesheet" href="tutorial.css"/>
-</head>
-
-<body>
-
-<h1 align="center">Extending WTP Using Project Facets</h1>
-
-<blockquote>
-<b>Summary</b><br/>
-The Faceted Project Framework allows the plugin developer to think of Web Tools 
-Platform (WTP) projects as composed of units of functionality, otherwise known 
-as facets, that can be added and removed by the user. This tutorial walks you 
-through an example of creating a couple of basic facets and in the process 
-covers the majority of the framework's extension points. This tutorial has been
-written for version 1.5 of the Web Tools Platform.
-<br/><br/>
-
-<b>Konstantin Komissarchik</b><br/>
-BEA Systems, Inc.<br/>
-September 5, 2006
-</blockquote>
-
-<hr width="100%">
-
-<h2>Introduction</h2>
-
-<p>Faceted Project Framework provides a powerful mechanism for extending the
-capabilities of the Web Tools Platform. Project facets are typically used as
-a way of adding functionality to a project. When a facet is added to the
-project it can perform any necessary setup actions such as copying resources, 
-installing builders, adding natures, etc. Facets can also be used as markers for
-enabling user interface elements.</p>
-
-<p>Some of the readers may be wondering how
-facets are different from the project natures which are supported by the Eclipse
-platform. Natures are designed to be hidden from user's view. They are
-essentially markers that are set behind the scenes by tooling. Project facets,
-on the other hand, have been designed from the ground up to be manipulated by
-the end users. The Faceted Project Framework provides all the necessary user 
-interface elements for managing the facets on a project and since facets
-are self describing the user is prevented from creating invalid configurations.
-Basically, it is no longer necessary to write custom project creation wizards or
-the "Enable Feature X" menu actions. Common way of managing which facets are
-installed on a project means less burden on the plugin writer and better end user
-experience.</p>
-
-<p>This tutorial covers the extension points and Java API that are used for 
-creating project facets. The reader is assumed to be already familiar with 
-developing plugins for Eclipse and to have user-level knowledge of the Web Tools 
-Platform.</p>
-
-<h2>Tutorial Scenario</h2>
-
-<p>You are a developer for a company which develops a product called
-FormGen. FormGen is basically a servlet that generates HTML forms based on XML
-definition files. The product is composed of a jar containing the servlet and
-some basic widgets. There is also an add-on jar with some extra widgets. Users
-have been manually adding the jars into the WEB-INF/lib directories of their
-web projects and setting up the servlet definitions in web.xml by hand. Your
-task is to make this setup easier by writing a couple of project facets that
-will perform these actions automatically.</p>
-
-<h2>Table of Contents</h2>
-
-<div class="block-indent">
-1. <a href="#getting.started">Getting Started</a><br/>
-2. <a href="#creating.basic.facets">Creating Basic Facet Definitions</a><br/>
-3. <a href="#specifying.constraints">Specifying Constraints</a><br/>
-4. <a href="#implementing.actions">Implementing Actions</a><br/>
-5. <a href="#creating.categories">Creating Categories</a><br/>
-6. <a href="#decorating">Decorating</a><br/>
-7. <a href="#adding.wizard.pages">Adding Wizard Pages</a><br/>
-8. <a href="#defining.presets">Defining Presets</a><br/>
-9. <a href="#runtime.mappings">Specifying Runtime Support Mappings</a><br/>
-10. <a href="#summary">Summary</a><br/>
-Appendix A: <a href="#custom.version.comparators">Custom Version Comparators</a><br/>
-Appendix B: <a href="#version.expressions">Version Expressions</a><br/>
-Appendix C: <a href="#property.tester">Property Tester</a><br/>
-Appendix D: <a href="#wizard.context">Wizard Context</a><br/>
-</div>
-
-<h2><a name="getting.started">1. Getting Started</a></h2>
-
-<p>To follow along with this tutorial, you will need to have a working install 
-of Web Tools Platform v1.5. The tutorial is not designed to be used with 1.0.x
-version of WTP as there are numerous extension point and API differences. You 
-can download the install kits for WTP and its prerequisites, including Eclipse 
-Platform v3.2, at the following locations:</p>
-
-<ul>
-  <li><a href="http://download.eclipse.org/eclipse/downloads/">Eclipse Platform Download Site</a></li>
-  <li><a href="http://download.eclipse.org/webtools/downloads/">Web Tools Platform Download Site</a></li>
-</ul>
-
-<p>Once the required software has been installed you will need to
-create a new workspace and add the <a href="materials/starter.zip">starter project</a>
-to it. The starter project includes the materials and utility code that will
-be used in this tutorial. If you get stuck at any point you can take a peek at
-the <a href="materials/solution.zip">solution project</a>.</p>
-
-<h2><a name="creating.basic.facets">2. Creating Basic Facet Definitions</a></h2>
-
-<p>Project facets are declared via the <code>org.eclipse.wst.common.project.facet.core.facets</code>
-extension point. This is a pretty large extension point with lots of facilities,
-but we will start small and progress incrementally while building the tutorial
-facets. Here is the part of the schema that we will be working with initially:</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-
-  &lt;project-facet id="<span class="schema-type">{string}</span>"&gt; <span class="schema-control">(0 or more)</span>
-    &lt;label&gt;<span class="schema-type">{string}</span>&lt;/label&gt;
-    &lt;description&gt;<span class="schema-type">{string}</span>&lt;/description&gt; <span class="schema-control">(optional)</span>
-  &lt;/project-facet&gt;
-
-  &lt;project-facet-version facet="<span class="schema-type">{string}</span>" version="<span class="schema-type">{string}</span>"/&gt; <span class="schema-control">(0 or more)</span>
-  
-&lt;/extension&gt;</pre>
-</div>
-
-<p>As you can see, there are two top-level elements in this part of the extension
-point schema. The <code>&lt;project-facet&gt;</code> element is used to declare
-the facet itself. The <code>&lt;project-facet-version&gt;</code> element is used
-to declare versions of the facet. Every facet implementation needs to provide
-at least one facet version declaration. In fact, as you will see later in this
-tutorial, the bulk of the work happens in the <code>&lt;project-facet-version&gt;</code>
-declaration. For now all you need to remember is that a facet cannot be used
-unless it has at least one version.</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="code-text">org.eclipse.wst.common.project.facet.core.facets</span>"&gt;
-
-  &lt;project-facet id="<span class="code-text">formgen.core</span>"&gt;
-    &lt;label&gt;<span class="code-text">FormGen Core</span>&lt;/label&gt;
-    &lt;description&gt;
-      <span class="code-text">Enables generation of HTML forms based on XML definition files.</span>
-    &lt;/description&gt;
-  &lt;/project-facet&gt;
-
-  &lt;project-facet-version facet="<span class="code-text">formgen.core</span>" version="<span class="code-text">1.0</span>"/&gt;
-
-  &lt;project-facet id="<span class="code-text">formgen.ext</span>"&gt;
-    &lt;label&gt;<span class="code-text">FormGen Extensions</span>&lt;/label&gt;
-    &lt;description&gt;
-      <span class="code-text">Enables additional FormGen widgets.</span>
-    &lt;/description&gt;
-  &lt;/project-facet&gt;
-
-  &lt;project-facet-version facet="<span class="code-text">formgen.ext</span>" version="<span class="code-text">1.0</span>"/&gt;
-  
-&lt;/extension&gt;</pre>
-</div>
-
-<p>Insert the above code into your plugin.xml file and lets see it in action.
-Launch Eclipse with your FormGen plugin and then open the Dynamic Web Project
-wizard. Make sure that <code>&lt;none&gt;</code> is selected in the Target Runtime
-field on the first page and go to the second page. You should see a screen that
-looks like the following. Note that the FormGen facets that you have created
-are displayed.</p>
-
-<div class="screen-shot"><img src="images/screen01.gif"/></div>
-
-<h2><a name="specifying.constraints">3. Specifying Constraints</a></h2>
-
-<p>One of the problems with what we have so far is that the FormGen facets
-appear in other module project wizards such as the EJB Project Wizard. That, of
-course, makes no sense since FormGen is servlet-based technology and so is only
-applicable to J2EE web applications. To solve this problem we will use the 
-constraint mechanism to specify the dependencies.</p>
-
-<p>Here is what that part of the extension point schema looks like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet-version&gt;</span>
-    &lt;constraint&gt; <span class="schema-control">(optional)</span>
-      <span class="schema-control">[expr]</span>
-    &lt;/constraint&gt;
-  <span class="context-code">&lt;/project-facet-version&gt;
-&lt;/extension&gt;</span>
-
-<span class="schema-control">[expr] =</span>
-  &lt;requires facet="<span class="schema-type">{string}</span>" version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>" soft="<span class="schema-type">{boolean}</span>"/&gt; <span class="schema-control">or</span>
-  &lt;conflicts facet="<span class="schema-type">{string}</span>" version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>"/&gt; <span class="schema-control">or</span>
-  &lt;conflicts group="<span class="schema-type">{string}</span>"/&gt; <span class="schema-control">or</span>
-  &lt;and&gt;
-    <span class="schema-control">[expr]</span> <span class="schema-control">(1 or more)</span>
-  &lt;/and&gt; <span class="schema-control">or</span>
-  &lt;or&gt;
-    <span class="schema-control">[expr]</span> <span class="schema-control">(1 or more)</span>
-  &lt;/or&gt;</pre>
-</div>
-
-<p>As you can see, the constraint is an expression tree and you have four
-operators at your disposal. Lets go over them one by one.</p>
-
-<div style="margin-left: 10px">
-<p><b>requires</b></p>
-
-<p>The <code>requires</code> operator is the most frequently used of all the operators. 
-It is used to specify a dependency on another facet. If the <code>version</code>
-attribute is not specified, any version of the referenced facet will satisfy
-the constraint. If only specific versions will do, the <code>version</code> 
-attribute can contain a <a href="#version.expressions">version expression</a>.</p>
-
-<p>The <code>soft</code> attribute is used to create a special kind of a
-dependency. Facet selection will not be prevented if the dependency is not
-met, but if the dependency is met, the facet is guaranteed to be installed
-after the referenced facet.</p>
-
-<p><b>conflicts</b></p>
-
-<p>The <code>conflicts</code> constraint is used to indicate that the declaring
-facet will not work correctly if installed into the same project as referenced
-facets. The <code>conflicts</code> constraint comes in two flavors. You can
-either specify a conflict with a single facet or with a group of facets.</p>
-
-<p>What are groups of facets? Facet groups are a way to designate a conflict with
-a certain class of facets without having to list all of the facets explicitly.
-For instance, the WTP module facets all belong to the "modules" group. They also
-each declare a conflict with the "modules" group. This prevents two module facets
-from being installed into the same project. By declaring a conflict with a
-group whose membership can expand as necessary, third parties can add module
-facets on top of WTP and have the new facets interact correctly with the
-built-in module facets.</p>
-
-<p>A facet group is created the first time a facet declares group membership.
-Here is the extension point schema for declaring group membership:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet-version&gt;</span>
-    &lt;group-member id="<span class="schema-type">{string}</span>"/&gt; <span class="schema-control">(0 or more)</span>
-  <span class="context-code">&lt;/project-facet-version&gt;
-&lt;/extension&gt;</span>
-</pre>
-</div>
-
-<p><b>and &amp; or</b>
-
-<p>The <code>and</code> &amp; <code>or</code> constraints are used to perform 
-logical conjunction and disjunction over their operands. Although it is legal
-for these operators to have only one operand, typically they will have two or
-more.</p>
-</div>
-
-<p>We can now specify the constraints for the FormGen facets. The facet id that
-marks a project as a J2EE web module is <code>jst.web</code>. We will setup
-a dependency on it from the <code>formgen.core</code> facet. The
-<code>formgen.ext</code> facet can then depend on the <code>formgen.ext</code>
-facet. That latter constraint will ensure that the FormGen Extensions
-are not installed without installing FormGen Core.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-
-  &lt;project-facet-version id="formgen.core" version="1.0"&gt;</span>
-    &lt;constraint&gt;
-      &lt;requires facet="<span class="xml-text">jst.web</span>" version="<span class="xml-text">2.2,2.3,2.4</span>"/&gt;
-    &lt;/constraint&gt;
-  <span class="context-code">&lt;/project-facet&gt;
-
-  &lt;project-facet-version id="formgen.ext" version="1.0"&gt;</span>
-    &lt;constraint&gt;
-      &lt;requires facet="<span class="xml-text">formgen.core</span>" version="<span class="xml-text">1.0</span>"/&gt;
-    &lt;/constraint&gt;
-  <span class="context-code">&lt;/project-facet&gt;
-  
-&lt;/extension&gt;</span></pre>
-</div>
-
-<p>Once the above code is added, the FormGen facets should only appear in the
-Dynamic Web Project wizard.</p>
-
-<h2><a name="implementing.actions">4. Implementing Actions</a></h2>
-
-<p>Let's now try selecting the FormGen Core facet on the facets selection page
-of the Dynamic Web Project wizard. If you do that, you should see the
-following error message appear.</p>
-
-<div class="screen-shot"><img src="images/screen02.gif"/></div>
-
-<p>This error message is displayed because the install action has not been
-implemented for this facet. What's an action? An action is an operation that a
-user can perform on a facet. There are three action types <code>INSTALL</code>,
-<code>UNINSTALL</code>, and <code>VERSION_CHANGE</code>. We will now implement
-the install actions for the FormGen facets.</p>
-
-<p>Here is what that part of the extension point schema looks like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;</span>
-  &lt;action id="<span class="schema-type">{string}</span>" facet="<span class="schema-type">{string}</span>" version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>" type="<span class="schema-type">INSTALL|UNINSTALL|VERSION_CHANGE</span>"&gt;
-    &lt;delegate class="<span class="schema-type">{class:org.eclipse.wst.common.project.facet.core.IDelegate}</span>"/&gt;
-    &lt;property name="<span class="schema-type">{string}</span>" value="<span class="schema-type">{string}</span>"/&gt; <span class="schema-control">(0 or more)</span>
-  &lt;/action&gt;
-<span class="context-code">&lt;/extension&gt;</span>
-</pre>
-</div>
-
-<ul>
-
-  <li><p>The version attribute can contain a single version or a <a href="#version.expressions">version expression</a>.
-    It can also be omitted if the action applies to all versions of the facet.</p></li>
-    
-  <li><p>The <code>id</code> attribute is optional. If not specified, the framework
-    will automatically generate one using the following pattern:</p>
-    <p><code>[facet-id]#[version-expression]#[action-type](#[prop-name]=[prop-value])*</code></p>
-    <p>As you can see, it is better to provide an explicit id rather than letting
-    the framework generate it. Later in the tutorial we will cover extension
-    points that make references to action ids.</p>
-  
-  <li><p>The <code>&lt;action&gt;</code> element can also be embeded inside the
-    <code>&lt;project-facet-version&gt;</code> element. In that case, the
-    <code>facet</code> and <code>version</code> attributes should be omitted.
-    Note that if the same delegate implementation applies to multiple facet 
-    versions, it is better to provide a single action declaration externally.
-    This allows the framework to perform certain kinds of optimizations</p></li>
-    
-  <li><p>For the <code>VERSION_CHANGE</code> action, it is possible to restrict
-    the applicability of the action definition with regards to the starting
-    version. To do that, simply specify "from.versions" property in the action
-    definition. The value is a <a href="#version.expressions">version expression</a>.
-    If this property is not specified, the framework will assume that the delegate
-    is capable of converting from any starting version.</p></li>
-    
-</ul>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.core;
-
-<span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-
-<span class="java-comment">/**
- * This interface is implemented in order to provide logic associated with
- * a particular event in project facet's life cycle, such as install or 
- * uninstall.
- */</span>
-
-<span class="java-keyword">public interface</span> IDelegate 
-{
-    <span class="java-comment">/**
-     * The method that's called to execute the delegate.
-     * 
-     * <span class="java-javadoc-keyword">@param</span> project the workspace project
-     * <span class="java-javadoc-keyword">@param</span> fv the project facet version that this delegate is handling; this
-     *   is useful when sharing the delegate among several versions of the same
-     *   project facet or even different project facets
-     * <span class="java-javadoc-keyword">@param</span> config the configuration object, or <code>null</code> if defaults
-     *   should be used
-     * <span class="java-javadoc-keyword">@param</span> monitor the progress monitor
-     * <span class="java-javadoc-keyword">@throws</span> CoreException if the delegate fails for any reason
-     */</span>
-    
-    <span class="java-keyword">void</span> execute( IProject project,
-                  IProjectFacetVersion fv,
-                  Object config,
-                  IProgressMonitor monitor )
-    
-        <span class="java-keyword">throws</span> CoreException;
-}
-</pre>
-</div>
-
-<p>Let's now dive in and implement the install delegates for the FormGen facets.
-The <code>formgen.core</code> facet should (a) copy <code>formgen-core.jar</code>
-into the project's <code>WEB-INF/lib</code> directory, and (b) register the
-FormGen servlet in <code>web.xml</code>. The <code>formgen.ext</code> facet should
-copy the <code>formgen-ext.jar</code> into the project's <code>WEB-INF/lib</code>
-directory.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;</span>
-
-  <span class="context-code">&lt;project-facet-version facet="formgen.core" version="1.0"&gt;</span>
-    &lt;action type="<span class="xml-text">INSTALL</span>"&gt;
-      &lt;delegate class="<span class="xml-text">com.formgen.eclipse.FormGenCoreFacetInstallDelegate</span>"/&gt;
-    &lt;/action&gt;
-  <span class="context-code">&lt;/project-facet-version&gt;</span>
-
-  <span class="context-code">&lt;project-facet-version facet="formgen.ext" version="1.0"&gt;</span>
-    &lt;action type="<span class="xml-text">INSTALL</span>"&gt;
-      &lt;delegate class="<span class="xml-text">com.formgen.eclipse.FormGenExtFacetInstallDelegate</span>"/&gt;
-    &lt;/action&gt;
-  <span class="context-code">&lt;/project-facet-version&gt;</span>
-  
-<span class="context-code">&lt;/extension&gt;</span>
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.core.resources.IFolder;
-<span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.Path;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IDelegate;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-<span class="java-keyword">public final class</span> FormGenCoreFacetInstallDelegate <span class="java-keyword">implements</span> IDelegate
-{
-    <span class="java-keyword">public void</span> execute( <span class="java-keyword">final</span> IProject pj,
-                         <span class="java-keyword">final</span> IProjectFacetVersion fv,
-                         <span class="java-keyword">final</span> Object config,
-                         <span class="java-keyword">final</span> IProgressMonitor monitor )
-
-        <span class="java-keyword">throws</span> CoreException
-
-    {
-        monitor.beginTask( "", 2 );
-
-        <span class="java-keyword">try</span>
-        {
-            <span class="java-keyword">final</span> IFolder webInfLib = Utils.getWebInfLibDir( pj );
-
-            Utils.copyFromPlugin( new Path( "libs/formgen-core.jar" ),
-                                  webInfLib.getFile( "formgen-core.jar" ) );
-
-            monitor.worked( 1 );
-
-            Utils.registerFormGenServlet( pj );
-
-            monitor.worked( 1 );
-        }
-        <span class="java-keyword">finally</span>
-        {
-            monitor.done();
-        }
-    }
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.core.resources.IFolder;
-<span class="java-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-<span class="java-keyword">import</span> org.eclipse.core.runtime.Path;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IDelegate;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-<span class="java-keyword">public final class</span> FormGenExtFacetInstallDelegate <span class="java-keyword">implements</span> IDelegate
-{
-    <span class="java-keyword">public void</span> execute( <span class="java-keyword">final</span> IProject pj,
-                         <span class="java-keyword">final</span> IProjectFacetVersion fv,
-                         <span class="java-keyword">final</span> Object config,
-                         <span class="java-keyword">final</span> IProgressMonitor monitor )
-
-        <span class="java-keyword">throws</span> CoreException
-
-    {
-        monitor.beginTask( "", 1 );
-
-        <span class="java-keyword">try</span>
-        {
-            <span class="java-keyword">final</span> IFolder webInfLib = Utils.getWebInfLibDir( pj );
-
-            Utils.copyFromPlugin( new Path( "libs/formgen-ext.jar" ),
-                                  webInfLib.getFile( "formgen-ext.jar" ) );
-
-            monitor.worked( 1 );
-        }
-        <span class="java-keyword">finally</span>
-        {
-            monitor.done();
-        }
-
-    }
-}
-</pre>
-</div>
-
-<p>Once the install actions have been implemented, you should be able to select
-the FormGen facets on the Facets Selection Page of the Dynamic Web Project Wizard
-without getting any error messages. You should also be able to complete the
-project creation and see the following highlighted artifacts in the new project.
-These artifacts have been created by the FormGen facet install delegates.</p>
-
-<div class="screen-shot"><img src="images/screen03.gif"/></div>
-
-<h2><a name="creating.categories">5. Creating Categories</a></h2>
-
-<p>Project facets can be grouped into categories in order to provide the "one
-click" exprience for novice users and retain the fine-grained control for advanced 
-users. You are told that most of FormGen users always add both of the jars to
-their web apps. These users would benefit from having the FormGen facets grouped
-into a category and so we will do just that.</p>
-
-<p>Here is what that part of the extension point schema looks like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;</span>
-  &lt;category id="<span class="schema-type">{string}</span>"&gt;
-    &lt;label&gt;<span class="schema-type">{string}</span>&lt;/label&gt;
-    &lt;description&gt;<span class="schema-type">{string}</span>&lt;/description&gt; <span class="schema-control">(optional)</span>
-  &lt;/category&gt;
-  <span class="context-code">&lt;project-facet&gt;</span>
-    &lt;category&gt;<span class="schema-type">{string}</span>&lt;/category&gt; <span class="schema-control">(optional)</span>
-  <span class="context-code">&lt;/project-facet&gt;</span>
-<span class="context-code">&lt;/extension&gt;</span>
-</pre>
-</div>
-
-<p>We can now create a category around the FormGen facets.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;</span>
-
-  &lt;category id="<span class="schema-type">formgen.category</span>"&gt;
-    &lt;label&gt;<span class="schema-type">FormGen</span>&lt;/label&gt;
-    &lt;description&gt;<span class="schema-type">Enables generation of HTML forms based on XML definition files.</span>&lt;/description&gt;
-  &lt;/category&gt;
-
-  <span class="context-code">&lt;project-facet id="formgen.core"&gt;</span>
-    &lt;category&gt;<span class="schema-type">formgen.category</span>&lt;/category&gt;
-  <span class="context-code">&lt;/project-facet&gt;</span>
-
-  <span class="context-code">&lt;project-facet id="formgen.ext"&gt;</span>
-    &lt;category&gt;<span class="schema-type">formgen.category</span>&lt;/category&gt;
-  <span class="context-code">&lt;/project-facet&gt;</span>
-
-<span class="context-code">&lt;/extension&gt;</span>
-</pre>
-</div>
-
-<p>Once the above change has been put in place, the facets selection page should 
-look like this:</p>
-
-<div class="screen-shot"><img src="images/screen04.gif"/></div>
-
-<h2><a name="decorating">6. Decorating</a></h2>
-
-<p>Custom icons can be provided for facets and categories. If an icon is not
-provided, a default icon is used. The icons are helpful as a way to better
-differentiate facets and to make them stand out.</p>
-
-<p>Here is what that extension point looks like:</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="org.eclipse.wst.common.project.facet.ui.images"&gt;
-  &lt;image facet="<span class="schema-type">{string}</span>" path="<span class="schema-type">{string}</span>"/&gt; <span class="schema-control">(0 or more)</span>
-  &lt;image category="<span class="schema-type">{string}</span>" path="<span class="schema-type">{string}</span>"/&gt; <span class="schema-control">(0 or more)</span>
-&lt;/extension&gt;
-</pre>
-</div>
-
-<p>Your starter project came with three icons in the <code>icons</code> folder.
-We will now associate them with the FormGen facets and the category.</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.ui.images</span>"&gt;
-  &lt;image facet="<span class="xml-text">formgen.core</span>" path="<span class="xml-text">icons/formgen-core.gif</span>"/&gt;
-  &lt;image facet="<span class="xml-text">formgen.ext</span>" path="<span class="xml-text">icons/formgen-ext.gif</span>"/&gt;
-  &lt;image category="<span class="xml-text">formgen.category</span>" path="<span class="xml-text">icons/formgen-cat.gif</span>"/&gt;
-&lt;/extension&gt;
-</pre>
-</div>
-
-<p>Once the above snippet has been added to your plugin.xml file, the facets
-selection page should look like this:</p>
-
-<div class="screen-shot"><img src="images/screen05.gif"/></div>
-
-<h2><a name="adding.wizard.pages">7. Adding Wizard Pages</a></h2>
-
-<p>It is often desirable to gather user input prior to installing a facet.
-The framework allows a sequence of wizard pages to be associated with facet
-actions. The supplied wizard pages are shown after the facets selection
-page. Based on user feedback, you known that FormGen users often customize
-the URL pattern of the FormGen servlet so you would like to give them the ability
-to do that in the wizard when the FormGen facets are being installed.</p>
-
-<p>Here is what the relevant parts of the extension points look like:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;action&gt;</span>
-    &lt;config-factory class="<span class="schema-type">class:org.eclipse.wst.common.project.facet.core.IActionConfigFactory</span>"/&gt;
-  <span class="context-code">&lt;/action&gt;
-&lt;/extension&gt;</span>
-
-&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.ui.wizardPages</span>"&gt;
-  &lt;wizard-pages action="<span class="schema-type">{string}</span>"&gt; <span class="schema-control">(0 or more)</span>
-    &lt;page class="<span class="schema-type">{class:org.eclipse.wst.common.project.facet.ui.IFacetWizardPage}</span>"/> <span class="schema-control">(1 or more)</span>
-  &lt;/wizard-pages&gt;
-&lt;/extension&gt;  
-</pre>
-</div>
-
-<p>One thing to note here is that in order to enable communication between the
-facet action delegate and the wizard pages, we go back to the action declaration
-and provide an action config factory. The object created by the factory is 
-populated by the wizard pages and is read by the action delegate. No restrictions
-are placed on the shape of the config object. You may choose to implement a custom
-class or you can use a something generic like <code>java.util.HashMap</code>.</p>
-
-<p>Another thing to note is that the <code>wizardPages</code> extension point refers
-to the actions by their ids, so it becomes more important to explicitly specify
-the id rather than letting the framework automatically generate one.</p>
-
-<p>Here are the interfaces that are used in the above extension point schema:</p> 
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.core;
-
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-
-<span class="java-comment">/**
- * This interface is implemented in order to provide a method for creating 
- * a config object that will be used for parameterizing the facet action
- * delegate.
- */</span>
-
-<span class="java-keyword">public interface</span> IActionConfigFactory
-{
-    <span class="java-comment">/**
-     * Creates a new facet action configuration object. The new configuration
-     * object should ideally be populated with reasonable defaults.
-     * 
-     * <span class="java-javadoc-keyword">@return</span> a new facet action configuration object
-     * <span class="java-javadoc-keyword">@throws</span> CoreException if failed while creating the configuration object
-     */</span>
-    
-    Object create() <span class="java-keyword">throws</span> CoreException;
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.ui;
-
-<span class="java-keyword">import</span> org.eclipse.jface.wizard.IWizardPage;
-
-<span class="java-comment">/**
- * This interface is implemented by the wizard pages associated with project
- * facet actions.
- */</span>
-
-<span class="java-keyword">public interface</span> IFacetWizardPage <span class="java-keyword">extends</span> IWizardPage
-{
-    <span class="java-comment">/**
-     * The framework will call this method in order to provide the wizard
-     * context to the wizard page. The wizard context can be used to find out
-     * about other actions being configured by the wizard.
-     * 
-     * <span class="java-javadoc-keyword">@param</span> context the wizard context
-     */</span>
-    
-    <span class="java-keyword">void</span> setWizardContext( IWizardContext context );
-    
-    <span class="java-comment">/**
-     * The framework will call this method in order to provide the action config
-     * object that the wizard page should save user selection into. The
-     * populated config object will then be passed to the action delegate.
-     * 
-     * <span class="java-javadoc-keyword">@param</span> config the action config object
-     */</span>
-    
-    <span class="java-keyword">void</span> setConfig( Object config );
-    
-    <span class="java-comment">/**
-     * This method is called after the user has pressed the <code>Finish</code>
-     * button. It allows the wizard page to transfer user selection into the
-     * config object. Alternative, instead of using this method, the wizard
-     * page could update the model on the fly as the user is making changes.
-     */</span>
-
-    <span class="java-keyword">void</span> transferStateToConfig();
-}
-</pre>
-</div>
-
-<p>We will now implement a wizard page for the <code>facet.core</code> facet
-install action. The wizard page will allow the user to change the default
-servlet URL pattern for the FormGen servlet.</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet-version facet="formgen.core" version="1.0"&gt;
-    &lt;action type="INSTALL"</span> id="<span class="xml-text">formgen.core.install</span>"<span class="context-code">&gt;</span>
-      &lt;config-factory class="<span class="xml-text">com.formgen.eclipse.FormGenCoreFacetInstallConfig$Factory</span>"/&gt;
-    <span class="context-code">&lt;/action&gt;
-  &lt;/project-facet-version&gt;
-&lt;/extension&gt;</span>
-
-&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.ui.wizardPages</span>"&gt;
-  &lt;wizard-pages action="<span class="xml-text">formgen.core.install</span>"&gt;
-    &lt;page class="<span class="schema-type">com.formgen.eclipse.FormGenCoreFacetInstallPage</span>"/>
-  &lt;/wizard-pages&gt;
-&lt;/extension&gt;  
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-
-<span class="java-keyword">public final class</span> FormGenCoreFacetInstallConfig
-{
-    <span class="java-keyword">private</span> String urlPattern = <span class="java-literal">"*.form"</span>;
-
-    <span class="java-keyword">public</span> String getUrlPattern()
-    {
-        <span class="java-keyword">return this</span>.urlPattern;
-    }
-
-    <span class="java-keyword">public void</span> setUrlPattern( <span class="java-keyword">final</span> String urlPattern )
-    {
-        <span class="java-keyword">this</span>.urlPattern = urlPattern;
-    }
-
-    <span class="java-keyword">public static final class</span> Factory <span class="java-keyword">implements</span> IActionConfigFactory
-    {
-        <span class="java-keyword">public</span> Object create()
-        {
-            <span class="java-keyword">return new</span> FormGenCoreFacetInstallConfig();
-        }
-    }
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-keyword">import</span> org.eclipse.swt.SWT;
-<span class="java-keyword">import</span> org.eclipse.swt.layout.GridData;
-<span class="java-keyword">import</span> org.eclipse.swt.layout.GridLayout;
-<span class="java-keyword">import</span> org.eclipse.swt.widgets.Composite;
-<span class="java-keyword">import</span> org.eclipse.swt.widgets.Label;
-<span class="java-keyword">import</span> org.eclipse.swt.widgets.Text;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage;
-
-<span class="java-keyword">public final class</span> FormGenCoreFacetInstallPage <span class="java-keyword">extends</span> AbstractFacetWizardPage
-{
-    <span class="java-keyword">private</span> FormGenCoreFacetInstallConfig config;
-    <span class="java-keyword">private</span> Text urlPatternTextField;
-
-    <span class="java-keyword">public</span> FormGenCoreFacetInstallPage()
-    {
-        <span class="java-keyword">super</span>( <span class="java-literal">"formgen.core.facet.install.page"</span> );
-
-        setTitle( <span class="java-literal">"FormGen Core"</span> );
-        setDescription( <span class="java-literal">"Configure the FormGen servlet."</span> );
-    }
-
-    <span class="java-keyword">public void</span> createControl( <span class="java-keyword">final</span> Composite parent )
-    {
-        <span class="java-keyword">final</span> Composite composite = <span class="java-keyword">new</span> Composite( parent, SWT.NONE );
-        composite.setLayout( <span class="java-keyword">new</span> GridLayout( 1, <span class="java-keyword">false</span> ) );
-
-        <span class="java-keyword">final</span> Label label = <span class="java-keyword">new</span> Label( composite, SWT.NONE );
-        label.setLayoutData( gdhfill() );
-        label.setText( <span class="java-literal">"URL Pattern:"</span> );
-
-        <span class="java-keyword">this</span>.urlPatternTextField = <span class="java-keyword">new</span> Text( composite, SWT.BORDER );
-        <span class="java-keyword">this</span>.urlPatternTextField.setLayoutData( gdhfill() );
-        <span class="java-keyword">this</span>.urlPatternTextField.setText( this.config.getUrlPattern() );
-
-        setControl( composite );
-    }
-
-    <span class="java-keyword">public void</span> setConfig( <span class="java-keyword">final</span> Object config )
-    {
-        <span class="java-keyword">this</span>.config = (FormGenCoreFacetInstallConfig) config;
-    }
-
-    <span class="java-keyword">public void</span> transferStateToConfig()
-    {
-        <span class="java-keyword">this</span>.config.setUrlPattern( <span class="java-keyword">this</span>.urlPatternTextField.getText() );
-    }
-
-    <span class="java-keyword">private static</span> GridData gdhfill()
-    {
-        <span class="java-keyword">return new</span> GridData( GridData.FILL_HORIZONTAL );
-    }
-}
-</pre>
-</div>
-
-<div class="code">
-<pre class="java-code"><span class="java-context"><span class="java-context-keyword">package</span> com.formgen.eclipse;
-
-<span class="java-context-keyword">import</span> org.eclipse.core.resources.IFolder;
-<span class="java-context-keyword">import</span> org.eclipse.core.resources.IProject;
-<span class="java-context-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-context-keyword">import</span> org.eclipse.core.runtime.IProgressMonitor;
-<span class="java-context-keyword">import</span> org.eclipse.core.runtime.Path;
-<span class="java-context-keyword">import</span> org.eclipse.wst.common.project.facet.core.IDelegate;
-<span class="java-context-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-<span class="java-context-keyword">public final class</span> FormGenCoreFacetInstallDelegate <span class="java-context-keyword">implements</span> IDelegate
-{
-    <span class="java-context-keyword">public void</span> execute( <span class="java-context-keyword">final</span> IProject pj,
-                         <span class="java-context-keyword">final</span> IProjectFacetVersion fv,
-                         <span class="java-context-keyword">final</span> Object config,
-                         <span class="java-context-keyword">final</span> IProgressMonitor monitor )
-
-        <span class="java-context-keyword">throws</span> CoreException
-
-    {
-        monitor.beginTask( "", 2 );
-
-        try
-        {</span>
-            <span class="java-keyword">final</span> FormGenCoreFacetInstallConfig cfg
-                = (FormGenCoreFacetInstallConfig) config;
-
-            <span class="java-context"><span class="java-context-keyword">final</span> IFolder webInfLib = Utils.getWebInfLibDir( pj );
-
-            Utils.copyFromPlugin( <span class="java-context-keyword">new</span> Path( "libs/formgen-core.jar" ),
-                                  webInfLib.getFile( "formgen-core.jar" ) );
-
-            monitor.worked( 1 );</span>
-
-            Utils.registerFormGenServlet( pj, cfg.getUrlPattern() );
-
-            <span class="java-context">monitor.worked( 1 );
-        }
-        <span class="java-context-keyword">finally</span>
-        {
-            monitor.done();
-        }
-    }
-}</span>
-</pre>
-</div>
-
-<p>Once the above code changes have been made you should see another page appear
-in the Dynamic Web Project Wizard after the FormGen facets are selected. The
-new page will appear after the Web Module page, which is associated with the
-<code>jst.web</code> facet. That's because <code>formgen.core</code> facet
-depends on the <code>jst.web</code> facet. If this dependency relationship 
-was not specified the relative order of these pages would be unspecified.</p>
-
-<div class="screen-shot"><img src="images/screen06.gif"/></div>
-
-<h2><a name="defining.presets">8. Defining Presets</a></h2>
-
-<p>As the number of available facets grows, it becomes increasingly difficult
-for the user to figure out which combinations make sense. This is where presets
-come in. Presets (or Configurations, as they are referred to in the UI) are
-simply combinations of facets that someone has determined are useful in certain
-situations. Presets can be created by the user or supplied via an extension
-point.</p>
-
-<p>Here is the extension point schema for declaring presets:</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.presets</span>"&gt;
-  &lt;static-preset id="<span class="schema-type">{string}</span>" extends="<span class="schema-type">{string}</span>"&gt;
-    &lt;label&gt;<span class="schema-type">{string}</span>&lt;/label&gt;
-    &lt;description&gt;<span class="schema-type">{string}</span>&lt;/description&gt; <span class="schema-control">(optional)</span>
-    &lt;facet id="<span class="schema-type">{string}</span>" version="<span class="schema-type">{string}</span>"/&gt; <span class="schema-control">(1 or more)</span>
-  &lt;/static-preset&gt;
-&lt;/extension&gt;
-</pre>
-</div>
-
-<p>Note that in order for a preset to apply to a given faceted project, the
-preset needs to include all of the project's "fixed facets". Fixed facets are
-the facets that are key to the proper operation of that project type and so
-cannot be removed. You can identify fixed facets by the lock icon.</p>
-
-<p>Let's now create a preset that includes formgen facets.</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.presets</span>"&gt;
-  &lt;static-preset id="<span class="xml-text">formgen.preset</span>"&gt;
-    &lt;label&gt;<span class="xml-text">FormGen Web Project</span>&lt;/label&gt;
-    &lt;description&gt;<span class="xml-text">Creates a web project with FormGen functionality.</span>&lt;/description&gt;
-    &lt;facet id="<span class="xml-text">jst.java</span>" version="<span class="xml-text">5.0</span>"/&gt;
-    &lt;facet id="<span class="xml-text">jst.web</span>" version="<span class="xml-text">2.2</span>"/&gt;
-    &lt;facet id="<span class="xml-text">formgen.core</span>" version="<span class="xml-text">1.0</span>"/&gt;
-    &lt;facet id="<span class="xml-text">formgen.ext</span>" version="<span class="xml-text">1.0</span>"/&gt;
-  &lt;/static-preset&gt;
-&lt;/extension&gt;
-</pre>
-</div>
-
-<p>Here is how the preset shows up on the facets selection page:</p>
-
-<div class="screen-shot"><img src="images/screen07.gif"/></div>
-
-<p>The preset can also be selected on the first page of all WTP project
-creation wizards. Here is how this looks in the Dynamic Web Project wizard:</p>
-
-<div class="screen-shot"><img src="images/screen08.gif"/></div>
-
-<h2><a name="runtime.mappings">9. Specifying Runtime Support Mappings</a></h2>
-
-<p>One of the most important functions of the faceted project framework is to
-be able to accurately model whether a certain server runtime supports a
-given project. We do that by "mapping" project facets to runtime components
-that support them. If the artifacts created by a facet will run on any server
-that supports all of the facet's upstream dependencies, then the <code>any</code>
-wildcard can be used.</p>
-
-<p>It's important to note that every facet needs to specify a support mapping of
-some kind. Facets that don't specify any support mappings are treated as not
-supported by any runtime, which is not very useful.</p>
-
-<p>Here is the extension point that's used for specifying the support mappings:</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.runtimes</span>"&gt;
-  &lt;supported&gt; <span class="schema-control">(0 or more)</span>
-    &lt;runtime-component any="<span class="schema-type">{boolean}</span>"/&gt; <span class="schema-control">(optional)</span>
-    &lt;runtime-component id="<span class="schema-type">{string}</span>"/ version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>"/&gt; <span class="schema-control">(0 or more)</span>
-    &lt;facet id="<span class="schema-type">{string}</span>"/ version="<span class="schema-type"><span class="schema-type-link">{<a href="#version.expressions">version.expr</a>}</span></span>"/&gt; <span class="schema-control">(1 or more)</span>
-  &lt;/supported&gt;
-&lt;/extension&gt;
-</pre>
-</div>
-
-<p>The <code>&lt;supported&gt;</code> block can reference any number of runtime
-components as well as any number of facets. The semantics of that is to declare 
-as supported every combination in the resulting cross-product.</p> 
-
-<p>The <code>version</code> attributes of the <code>&lt;runtime-component&gt;</code> 
-and <code>&lt;facet&gt;</code> elements can be omitted to include all versions.</p>
-
-<p>The FormGen facets don't have any special support requirements. They will run
-on any server that supports the j2ee servlet spec. We will use the <code>any</code>
-wildcard to designate that.</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.runtimes</span>"&gt;
-  &lt;supported&gt;
-    &lt;runtime-component any="<span class="xml-text">true</span>"/&gt;
-    &lt;facet id="<span class="xml-text">formgen.core</span>"/&gt;
-    &lt;facet id="<span class="xml-text">formgen.ext</span>"/&gt;
-  &lt;/supported&gt;
-&lt;/extension&gt;
-</pre>
-</div>
-
-<p>Alternative, if for some reason the FormGen functionality required a specific
-runtime, such as Tomcat, we would use something like the this instead:</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="xml-text">org.eclipse.wst.common.project.facet.core.runtimes</span>"&gt;
-  &lt;supported&gt;
-    &lt;runtime-component id="<span class="xml-text">org.eclipse.jst.server.tomcat</span>" version="<span class="xml-text">[5.0</span>"/&gt;
-    &lt;facet id="<span class="xml-text">formgen.core</span>"/&gt;
-    &lt;facet id="<span class="xml-text">formgen.ext</span>"/&gt;
-  &lt;/supported&gt;
-&lt;/extension&gt;
-</pre>
-</div>
-
-<p>The above more restrictive specification will prevent FormGen facets from
-being selected if the project is targetted to any runtime other than Apache
-Tomcat 5.0 or newer.</p>
-
-<h2><a name="summary">10. Summary</a></h2>
-
-<p>In this tutorial we created two fully-functional project facets by specifying
-constraints, implementing actions, grouping facets into categories, and creating
-wizard pages to allow users to parameterize facet installation. You should now
-be well prepared to create your own facets. Additional information not covered
-by this tutorial can be found in the following appendix sections.</p> 
-
-<h2><a name="custom.version.comparators">Appendix A: Custom Version Comparators</a></h2>
-
-<p>The faceted project framework needs to be able to compare facet version
-strings. The framework supplies a default version comparator that can handle
-version strings encoded using the standard decimal notation (such as 1.2 or
-5.66.5533), but if you want to use a different format you will need to supply
-a custom version comparator.</p>
-
-<p>Here is how you plug in a custom version comparator:</p>
-
-<div class="code">
-<pre class="code-xml"><span class="context-code">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet&gt;</span>
-    &lt;version-comparator class="<span class="schema-type">{class:java.util.Comparator&lt;String&gt;}</span>"/&gt;
-  <span class="context-code">&lt;/project-facet&gt;
-&lt;/extension&gt;</span>
-</pre>
-</div>
-
-<p>When implementing a version comparator you can either start from scratch
-or subclass the default version comparator (<code>org.eclipse.wst.common.project.facet.core.DefaultVersionComparator</code>).
-Subclassing the default version comparator makes sense if the version format
-differs only slightly from the default format, such as using separators other
-than dots or having non-numeric characters at certain positions. Here are the
-protected methods exposed by the <code>DefaultVersionComparator</code> class
-that are designed to be overridden:</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-comment">/**
- * Returns the string containing the separator characters that should be
- * used when breaking the version string into segments. The default
- * implementation returns ".". Subclasses can override this method.
- * 
- * <span class="java-javadoc-keyword">@return</span> the separator characters
- */</span>
-    
-<span class="java-keyword">protected</span> String getSeparators();
-    
-<span class="java-comment">/**
- * Parses a segment of the version string. The default implementation parses
- * the first segment as an integer (leading zeroes are ignored) and the
- * rest of the segments as decimals (leading zeroes are kept). Subclasses 
- * can override this method to provide custom parsing for any number of 
- * segments.
- * 
- * <span class="java-javadoc-keyword">@param</span> version the full version string
- * <span class="java-javadoc-keyword">@param</span> segment the version segment
- * <span class="java-javadoc-keyword">@param</span> position the position of the segment in the version string
- * <span class="java-javadoc-keyword">@return</span> the parsed representation of the segment as a {@see Comparable}
- * <span class="java-javadoc-keyword">@throws</span> VersionFormatException if encountered an error while parsing
- */</span>
-    
-<span class="java-keyword">protected</span> Comparable parse( <span class="java-keyword">final</span> String version,
-                            <span class="java-keyword">final</span> String segment,
-                            <span class="java-keyword">final</span> int position )
-    
-    <span class="java-keyword">throws</span> VersionFormatException;
-</pre>
-</div>
-
-<h2><a name="version.expressions">Appendix B: Version Expressions</a></h2>
-
-<p>A version expression is a syntax for specifying more than one version. The
-version expressions are used throughout the framework's extension points, but
-you will most likely first encounter them while specifying the <code>requires</code> 
-constraint.</p>
-
-<p>A version expression is composed of multiple segments separated by commas. 
-The commas function as an OR operation. Each segment is either a single version, 
-a range, or a wildcard. Ranges are represented by bracket and dash notation such 
-as [x-y). A bracket means inclusive, while the parenthesis means exclusive. Open 
-ended ranges are also supported. A wildcard (represented by '*' character) can
-be used to match any version. It is not possible to use the wildcard to match
-part of the version string.</p>
-
-<p>Here are some examples:</p>
-
-<div class="code">
-<pre class="java-code">1.2
-1.2,1.5,3.2
-[1.2-3.2]
-[3.7-5.0)
-[3.7
-5.0)
-1.2,[3.0-4.5),[7.3
-*
-</pre>
-</div>
-
-<h2><a name="property.tester">Appendix C: Property Tester</a></h2>
-
-<p>A property tester is provided by the Faceted Project Framework that allows
-the presence of the facet in a project to be tested by any extension point that
-works with <code>org.eclipse.core.expressions</code> package. The most common
-usage is to enable user interface elements (such as actions and project property
-pages). The property name is <code>org.eclipse.wst.common.project.facet.core.projectFacet</code>
-and the value is either a facet id or a facet id followed by a colon and
-a <a href="#version.expressions">version expression</a>.</p>
-
-<p>Here is an example of using facets property tester to control enablement of
-a project properties page:</p>
-
-<div class="code">
-<pre class="code-xml">&lt;extension point="<span class="xml-text">org.eclipse.ui.propertyPages</span>"&gt;
-  &lt;page 
-    adaptable="<span class="xml-text">true</span>"
-    objectClass="<span class="xml-text">org.eclipse.core.resources.IProject</span>"
-    name="<span class="xml-text">FormGen Properties</span>"
-    class="<span class="xml-text">com.formgen.eclipse.FormGenPropertiesPage</span>"
-    id="<span class="xml-text">org.eclipse.jst.j2ee.internal.J2EEDependenciesPage</span>"&gt;
-    &lt;enabledWhen&gt;
-      &lt;test 
-        forcePluginActivation="<span class="xml-text">true</span>"
-        property="<span class="xml-text">org.eclipse.wst.common.project.facet.core.projectFacet</span>"
-        value="<span class="xml-text">formgen.core</span>"/&gt;
-    &lt;/enabledWhen&gt;          
-  &lt;/page&gt;
-&lt;/extension&gt;
-</pre>
-</div>
-
-<h2><a name="wizard.context">Appendix D: Wizard Context</a></h2>
-
-<p>Sometimes it desirable to be able to adjust the behavior of facet action 
-wizard pages based on user input in the wizard pages of other facets. The
-<code>IWizardContext</code> interface can be used for this purpose. The wizard
-page gets a handle on <code>IWizardContext</code> interface when it's
-<code>setWizardContext</code> method is called. When writing code that relies
-on the wizard context, there are a couple of points you should keep in mind.</p>
-
-<ol>
-
-  <li><p>The facet whose value you wish to check may have already been installed
-    in the past. In that case you will not find it's install configuration in
-    the wizard context. You will need to write conditional logic that will
-    consult the wizard context or looks at project state on disk.</p></li>
-    
-  <li><p>You should make sure that a reasonable default is provided in your
-    config object for the API-only scenario where your wizard page will not be
-    involved.</p>
-    
-</ol>
-
-<p>Here is what the <code>IWizardContext</code> interface looks like:</p>
-
-<div class="code">
-<pre class="java-code"><span class="java-keyword">package</span> org.eclipse.wst.common.project.facet.ui;
-
-<span class="java-keyword">import</span> java.util.Set;
-
-<span class="java-keyword">import</span> org.eclipse.core.runtime.CoreException;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-<span class="java-keyword">import</span> org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
-
-<span class="java-comment">/**
- * The interface exposed to the facet action wizard pages that allows them
- * to gather information about the wizard state.
- */</span>
-
-<span class="java-keyword">public interface</span> IWizardContext 
-{
-    <span class="java-comment">/**
-     * Returns the name of the project that the wizard is operating on. If the
-     * wizard is in the project creation mode, the project will not yet exist
-     * in the workspace.
-     * 
-     * <span class="java-javadoc-keyword">@return</span> the name of the project that the wizard is operating on
-     */</span>
-    
-    String getProjectName();
-    
-    <span class="java-comment">/**
-     * Returns the set of facets currently selected in the wizard. If the wizard
-     * is in the add/remove facets mode (vs. project creation), this method will 
-     * return the set of facets currently installed in a project after being 
-     * modified by the current set of actions. 
-     * 
-     * <span class="java-javadoc-keyword">@return</span> the set of facets currently selected in the wizard (element type:
-     *   {<span class="java-javadoc-keyword">@see</span> IProjectFacetVersion})
-     */</span>
-    
-    Set getSelectedProjectFacets();
-    
-    <span class="java-comment">/**
-     * Determines whether the specified facet is currently selected in the
-     * wizard. See {@see getSelectedProjectFacets()} for more information.
-     * 
-     * <span class="java-javadoc-keyword">@param</span> fv the project facet version object
-     * <span class="java-javadoc-keyword">@return</span> <code>true</code> if an only if the provided project facet is
-     *   currently selected in the wizard
-     */</span>
-    
-    <span class="java-keyword">boolean</span> isProjectFacetSelected( IProjectFacetVersion fv );
-    
-    <span class="java-comment">/**
-     * Returns the set of actions currently specified by the user.
-     * 
-     * <span class="java-javadoc-keyword">@return</span> the set of actions currently specified by the user
-     */</span>
-    
-    Set getActions();
-    
-    <span class="java-comment">/**
-     * Finds the action of specified type that applies to the specified facet,
-     * if such action exists. If the wizard is in the add/remove facets mode
-     * (vs. project creation), you cannot depend on finding the install action
-     * for a required facet as that facet may have already been installed.
-     * 
-     * <span class="java-javadoc-keyword">@param</span> type the action type
-     * <span class="java-javadoc-keyword">@param</span> fv the project facet version object
-     * <span class="java-javadoc-keyword">@return</span> the action object or <code>null</code>
-     */</span>
-    
-    Action getAction( Action.Type type,
-                      IProjectFacetVersion fv );
-}
-</pre>
-</div>
-
-<br/><br/><br/>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew150.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew150.html
deleted file mode 100644
index c354809..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew150.html
+++ /dev/null
@@ -1,363 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
-  http-equiv="Content-Type"
-  content="text/html; charset=iso-8859-1">
-<title>What's New for 1.5?</title>
-<link
-  rel="stylesheet"
-  type="text/css"
-  href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 1.5?</p>
-
-<p>This document describes the API changes that have been made in the Faceted
-Project Framework for WTP 1.5 release. Both Java API and extension point changes 
-are covered. Note that the Faceted Project Framework API remains provisional
-for the 1.5 release. This means it will continue undergoing further significant
-changes in future release(s).</p>
-
-<p><b>Attention:</b> All Java API and extension points that have been deprecated 
-in the 1.5 release will be removed in the 2.0 release. Until that point they 
-will continue to function and be fully supported.</p>
-
-<ol>
-  <li><a href="#vexprs">Version Expressions</a></li>
-  <li><a href="#actions">Action Definitions</a></li>
-  <li><a href="#wizard">Wizard Pages</a></li>
-  <li><a href="#event.handlers">Event Handlers</a></li>
-  <li><a href="#runtimes">Targeting Multiple Runtimes</a></li>
-  <li><a href="#presets">Descriptions for Presets</a></li>
-  <li><a href="#misc">Miscellaneous</a></li>
-</ol>
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="vexprs">1. Version Expressions</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>Version expressions are used in various context throughout the framework's
-extension points and Java API when multiple versions need to be specified. In
-the 1.0.x release, the vesion expressions were of the form "&lt;1.5,2.3,2.5,&gt=5.0",
-where commas indicate a disjunction (or). This syntax did not allow ranges to be
-specified and was unwieldy due to the need to escape the angle brackets in the
-plugin.xml files. So this syntax has been deprecated in the 1.5 release. The new
-syntax also uses commas to specify a disjunction, but now ranges can be
-specified using "[1.3-6.3)" notation. Square brackets mean inclusive, while
-parenthesis mean exclusive. Open ranges can also be specified using notation
-like "[1.3" and "6.3)".</p>
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="actions">2. Action Definitions</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>Action definitions have been made into first class entities with the new
-ability to be assigned an id and the creation of the browsing API. In addition,
-it is now possible to create constrained VERSION_CHANGE actions in order to
-designate precisely which versions the delegate is capable of changing from.
-Multiple VERSION_CHANGE delegates with different "from.versions" constraint
-can be specified.</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  ...
-  &lt;action</font> id="string" <font color="#7B7B7B">... &gt;
-    ...
-    </font>
-    &lt;property name="from.versions" value="string"/&gt; <i>(0 or 1)</i>
-    <font color="#7B7B7B">
-    ...
-  &lt/action&gt;
-  ...
-&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-org.eclipse.wst.common.project.facet.core.IActionDefinition
-{
-   static final String PROP_FROM_VERSIONS;
-   String getId();
-   IProjectFacet getProjectFacet();
-   IVersionExpr getVersionExpr();
-   Action.Type getActionType();
-   Map getProperties();
-   Object getProperty( String name );
-   Object createConfigObject( IProjectFacetVersion fv, String pjname );
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacetVersion
-{
-   ...</font>
-   boolean supports( Set base, Action.Type type );
-   Set getActionDefinitions();
-   Set getActionDefinitions( Action.Type type );
-   IActionDefinition getActionDefinition( Set base, Action.Type type );
-   <font color="#7B7B7B">...
-}</font>
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.ProjectFacetsManager
-{
-    ...</font>
-    Set getActionDefinitions();
-    boolean isActionDefined( String id );
-    IActionDefinition getActionDefinition( String id );
-    <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor=#FFF1C1>
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacetVersion
-{
-   ...</font>
-   boolean supports( Action.Type type );
-   Object createActionConfig( Action.Type type, String pjname );
-   boolean isSameActionConfig( Action.Type type, IProjectFacetVersion fv );
-   <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="wizard">3. Wizard Pages</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The extension point schema for defining wizard pages associated with the
-project facet actions has been revised to be more flexible.</p>
-
-<p><u>Deprecated Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor=#FFF1C1>
-<pre>
-&lt;extension point="org.eclipse.wst.common.project.facet.ui.wizard"&gt;
-  &lt;wizard-pages facet="..."&gt;
-    &lt;install&gt; <i>(0 or 1)</i>
-      &lt;page class="..."/&gt; <i>(1 or more)</i>
-    &lt;/install&gt;
-    &lt;uninstall&gt; <i>(0 or 1)</i>
-      &lt;page class="..."/&gt; <i>(1 or more)</i>
-    &lt;/uninstall&gt;
-  &lt;/wizard-pages&gt;
-&lt;/extension&gt;
-</pre>
-</td></tr></table>
-
-<p><u>Replacement Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-&lt;extension point="org.eclipse.wst.common.project.facet.ui.wizardPages"&gt;
-  &lt;wizard-pages action="..."&gt; <i>(1 or more)</i>
-    &lt;page class="..."/&gt; <i>(1 or more)</i>
-  &lt;/wizard-pages&gt;
-&lt;/extension&gt;
-</pre>
-</td></tr></table>
-
-<p>Note the new extension point id. The "action" attribute should contain the
-action that these pages are to be associated with. The action id can
-be explicitly specified via the new "id" attribute available on the "action"
-element of the core facets extension point. If not specified, the default id
-is generated using the "[facet-id]#[version-expression]#[action-type]" 
-pattern.</p>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.ui.ProjectFacetsUiManager
-{
-   ...</font>
-   List getWizardPages( Action.Type type, IProjectFacetVersion fv );
-   <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-<p><u>Replacement Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.ui.ProjectFacetsUiManager
-{
-   ...</font>
-   List getWizardPages( String actionId );
-   <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="event.handlers">4. Event Handlers</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>A new event handling facility has been added. This makes for a clear separation
-between actions (user initiated), and events (automatic). Prior to this change
-it was possible to register a "runtime-changed" action. That usage is now
-deprecated and should be converted to use event handler extension point. Various
-new events have also been added.</p>
-
-<p><u>Event Types</u></p>
-
-<p>PRE_INSTALL, POST_INSTALL, PRE_UNINSTALL, POST_UNINSTALL, PRE_VERSION_CHANGE,
-POST_VERSION_CHANGE, RUNTIME_CHANGED</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  ...</font>
-  &lt;event-handler type="..." facet="..." version="..."&gt;
-    &lt;delegate class="..."/&gt;
-  &lt/event-handler&gt;
-  <font color="#7B7B7B">...
-&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-<p><u>RUNTIME_CHANGED Event</u></p>
-
-<p>In the 1.0.x release it was possible to register a "runtime-changed" action.
-That usage is now deprecated and should be converted into a RUNTIME_CHANGED
-event handler. The RUNTIME_CHANGED event handler delegate gets passed in a
-config object that carries additional information about the event.</p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-org.eclipse.wst.common.project.facet.core.IRuntimeChangedEvent
-{
-    IRuntime getOldRuntime();
-    IRuntime getNewRuntime();
-}  
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="runtimes">5. Targeting Multiple Runtimes</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The ability for a project to target multiple runtimes has been further
-fleshed out during the 1.5 release.</p>
-   
-<p><u>Deprecated Java API</u></p>
-   
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{
-   ...</font>
-   IRuntime getRuntime();
-   void setRuntime( IRuntime runtime );
-   <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-     
-<p><u>Replacement Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{
-   ...</font>
-   Set getTargetedRuntimes();
-   void setTargetedRuntimes( Set runtimes, IProgressMonitor monitor );
-   void addTargetedRuntime( IRuntime runtime, IProgressMonitor monitor );
-   void removeTargetedRuntime( IRuntime runtime, IProgressMonitor monitor );
-   IRuntime getPrimaryRuntime();
-   void setPrimaryRuntime( IRuntime runtime, IProgressMonitor monitor );
-   <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="presets">6. Descriptions for Presets</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>It is now possible to associate description with presets.</p>
-   
-<p><u>Extension Points Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  ...
-  &lt;preset&gt;
-    ...</font>
-    &lt;description&gt;...&lt/description&gt; <i>(0 or 1)</i>
-    <font color="#7B7B7B">...
-  &lt/preset&gt;
-  ...
-&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.ProjectFacetsManager
-{
-   ...</font>
-   IPreset definePreset( String name, String description, Set facets );
-   <font color="#7B7B7B">...
-}</font>
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IPreset
-{
-   ...</font>
-   String getDescription();
-   <font color="#7B7B7B">...
-}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="misc">7. Miscellaneous</a></font></p>
-<!--  ********************************************************************** -->
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacetVersion
-{
-   ...</font>
-   boolean isValidFor( Set fixed );
-   boolean conflictsWith( IProjectFacetVersion fv );
-   String getPluginId();
-   <font color="#7B7B7B">...
-}</font>
-
-org.eclipse.wst.common.project.facet.core.IVersionExpr
-{
-   boolean evaluate( String version );
-   String toDisplayString();
-}
-</pre>
-</td></tr></table>
-
-<p></p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew151.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew151.html
deleted file mode 100644
index f6d3d8d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew151.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
-  http-equiv="Content-Type"
-  content="text/html; charset=iso-8859-1">
-<title>What's New for 1.5.1?</title>
-<link
-  rel="stylesheet"
-  type="text/css"
-  href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 1.5.1?</p>
-
-<p>This document describes the API changes that have been made in the Faceted
-Project Framework for WTP 1.5.1 release. Both Java API and extension point 
-changes are covered. Note that the Faceted Project Framework API remains 
-provisional for the 1.5.1 release. This means it will continue undergoing 
-further significant changes in future release(s).</p>
-
-<ol>
-  <li><a href="#defver">Specifying Default Facet Version</a></li>
-  <li><a href="#wildcard">Wildcard Support in Version Expressions</a></li>
-</ol>
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="vexprs">1. Specifying Default Facet Version</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>It is now possible to specify the facet version that will be used by default
-when the facet is presented to the user. There are two ways to specify the default
-version. You can either specify a static default or you can implement the
-<code>IDefaultVersionProvider</code> interface. If a default version is not
-specified, the latest version will be used instead.</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet&gt;</font>
-    &lt;default-version version="{string}"/&gt; <i>(optional)</i>
-    &lt;default-version provider="{class:org.eclipse.wst.common.project.facet.core.IDefaultVersionProvider}"/&gt; <i>(optional)</i>
-  <font color="#7B7B7B">&lt;/project-facet&gt;
-&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IProjectFacet
-{</font>
-   IProjectFacetVersion getDefaultVersion();
-<font color="#7B7B7B">}</font>
-
-org.eclipse.wst.common.project.facet.core.IDefaultVersionProvider
-{
-   IProjectFacetVersion getDefaultVersion();
-}
-</pre>
-</td></tr></table>
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="wildcard">2. Wildcard Support in Version Expressions</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>A wildcard character '*' can now be used in version expressions in order to
-match any version. Note that it is not possible to use the wildcard to match
-part of the version string.</p>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IVersionExpr
-{</font>
-   static final String WILDCARD_SYMBOL = "*";
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-<p></p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew20.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew20.html
deleted file mode 100644
index 97f5f0b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew20.html
+++ /dev/null
@@ -1,447 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
-  http-equiv="Content-Type"
-  content="text/html; charset=iso-8859-1">
-<title>What's New for 2.0?</title>
-<link
-  rel="stylesheet"
-  type="text/css"
-  href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 2.0?</p>
-
-<p>This document describes the API changes that have been made in the Faceted Project Framework for 
-the WTP 2.0 release. Both Java API and extension point changes are covered. All API that was 
-deprecated in this release is still supported, but clients are advised to switch to non-deprecated 
-alternatives as soon as feasible.</p>
-
-<ol>
-  <li><a href="#generics">Generics</a></li>
-  <li><a href="#presets">Improvements to Presets</a></li>
-  <li><a href="#comparable">IProjectFacetVersion and IRuntimeComponentVersion Extend Comparable</a></li>
-  <li><a href="#requires-group">Requires Constraint Supports Groups</a></li>
-  <li><a href="#group-labels">Labels and Descriptions for Groups</a></li>
-  <li><a href="#validate">New IFacetedProject Validation API</a></li>
-  <li><a href="#new-wizard-class">AddRemoveFacetsWizard Class Renamed to ModifyFacetedProjectWizard</a></li>
-  <li><a href="#pde-limitations">Extension Point Schema Changes to Work Around PDE Limitations</a></li>
-  <li><a href="#listeners">Listeners and Events</a></li>
-  <li><a href="#misc">Miscellaneous</a></li>
-</ol>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#generics">1. Generics</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>All of the framework's API now use Java 5 generics. This has been done in a backwards compatible
-way and existing clients are expected to continue to work without any modifications. In order for a 
-client to gain access to the type safety afforded by generics in this API, the client plugin's Java 
-compiler level should be configured to be 5.0 or newer.</p>  
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="presets">2. Improvements to Presets</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>Significant improvements have been made to the presets facility for the 2.0 release. A new type of
-preset, referred to as a dynamic preset, is now available. A dynamic preset uses an extender-supplied
-factory to synthesize the preset definition on the fly based on the context in which it will be
-used. The "old-style" declarative presets are still available and are now referred to as static
-presets. Static presets have also been improved to allow them to extend other presets. A static
-preset can even extend a dynamic preset.</p>
-
-<p>There is also a new preset that's part of the framework. It's a dynamic preset with id of 
-"default.configuration" and whose contents are synthesized as follows:</p>
-
-<ol>
-  <li>If a runtime is selected, this preset will contain default facets as specified by
-    IRuntime.getDefaultFacets(Set).</li>
-  <li>If no runtime is selected, this preset will contain default versions for all of the fixed
-    facets as specified by IProjectFacet.getDefaultVersion().</li>
-</ol>   
-
-<p><u>New Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-&lt;extension point="org.eclipse.wst.common.project.facet.core.presets"&gt;
-  &lt;static-preset id="<i>{string}</i>" extends="<i>{string}</i>"&gt;
-    &lt;label&gt;<i>{string}</i>&lt;/label&gt; <i>(optional)</i>
-    &lt;description&gt;<i>{string}</i>&lt;/description&gt; <i>(optional)</i>
-    &lt;facet id="<i>{string}</i>" version="<i>{string}</i>"/&gt; <i>(1 or more)</i>
-  &lt;/static-preset&gt; <i>(0 or more)</i>
-  &lt;dynamic-preset id="<i>{string}</i>"&gt;
-    &lt;factory class="<i>{class:org.eclipse.wst.common.project.facet.core.IPresetFactory}</i>"/&gt;
-  &lt;/dynamic-preset&gt; <i>(0 or more)</i>
-&lt;extension&gt;
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;</font>
-  &lt;preset id="<i>{string}</i>"&gt;
-    &lt;label&gt;<i>{string}</i>&lt;/label&gt; <i>(optional)</i>
-    &lt;description&gt;<i>{string}</i>&lt;/description&gt; <i>(optional)</i>
-    &lt;facet id="<i>{string}</i>" version="<i>{string}</i>"/&gt; <i>(1 or more)</i>
-  &lt;/preset&gt; <i>(0 or more)</i>
-<font color="#7B7B7B">&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">interface org.eclipse.wst.common.project.facet.core.IPreset
-{</font>
-    enum Type { STATIC, DYNAMIC, USER_DEFINED }
-    Type getType();
-<font color="#7B7B7B">}</font>
-
-interface org.eclipse.wst.common.project.facet.core.IDynamicPreset extends IPreset
-{
-    static final String CONTEXT_KEY_FIXED_FACETS;
-    static final String CONTEXT_KEY_PRIMARY_RUNTIME;
-    IPreset resolve( Map<String,Object> context );
-}
-
-interface org.eclipse.wst.common.project.facet.core.IPresetFactory
-{
-    PresetDefinition createPreset( String presetId, Map<String,Object> context );
-}
-
-class org.eclipse.wst.common.project.facet.core.PresetDefinition
-{
-    PresetDefinition( String label, String description, Set<IProjectFacetVersion> facets );
-    String getLabel();
-    String getDescription();
-    Set<IProjectFacetVersion> getProjectFacets();
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.FacetedProjectFramework
-{</font>
-    static final String DEFAULT_CONFIGURATION_PRESET_ID;
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor=#FFF1C1>
-<pre>
-<font color="#7B7B7B">interface org.eclipse.wst.common.project.facet.core.IPreset
-{</font>
-    boolean isUserDefined()
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#comparable">3. IProjectFacetVersion and IRuntimeComponentVersion Extend Comparable</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The IProjectFacetVersion and IRuntimeComponentVersion interfaces now extend
-Comparable. Using the compareTo methods will yield significantly better performance
-than calling the version comparator directly on the version strings as the 
-compareTo methods use pre-computed results and do not need to parse the version
-strings.</p>
-
-<p>As part of this change, IVersionExpr.evaluate( String ) method has been
-replaced with IVersionExpr.check( Comparable ) method.</p>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#requires-group">4. Requires Constraint Supports Groups</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The requires constraint can now be declared using facet groups instead of
-individual facets. Any member of the group will satisfy the constraint. This
-allows a level of indirection so that a facet does not need to know about all of
-the group members.</p>
-
-<p><u>Extension Point Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet-version&gt;
-    &lt;constraint&gt;</font>
-      &lt;requires group="group.id"/&gt;
-    <font color="#7B7B7B">&lt;/constraint&gt;
-  &lt;/project-facet-version&gt;
-&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="group-labels">5. Labels and Descriptions for Groups</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>It is now possible to associate labels and description with groups. Note that
-groups are still automatically created on first use, so the use of the new group
-element is only necessary in order to specify the label and the description.</p>
-   
-<p><u>Extension Points Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;</font>
-  &lt;group id="..."&gt; <i>(0 or more)</i>
-    &lt;label&gt;...&lt/label&gt;
-    &lt;description&gt;...&lt/description&gt; <i>(0 or 1)</i>
-  &lt/group&gt;
-<font color="#7B7B7B">&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IGroup
-{</font>
-   String getLabel();
-   String getDescription();
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="validate">6. New IFacetedProject Validation API</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>There is now API for validating the faceted project. It allows the caller to
-find out about any problems with the project without searching for problem
-markers created by the faceted project validation builder. The validation
-builder now uses the new API.</p>
-
-<p><u>Java API Changes</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
-   IStatus validate( IProgressMonitor monitor );
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="new-wizard-class">7. AddRemoveFacetsWizard Class Renamed to ModifyFacetedProjectWizard</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The AddRemoveFacetsWizard class has been renamed to ModifyFacetedProjectWizard
-to align with terminology change being made in the rest of the system. The old
-class is deprecated, but still supported (extends the new class).</p>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="pde-limitations">8. Extension Point Schema Changes to Work Around PDE Limitations</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>In order to work around false warnings reported by PDE's extension point schema validation, the
-following changes have been made to the framework's extension points. The old syntax is deprecated,
-but is still supported.</p>
-
-<p>When declaring that a facet belongs to a category...</p>
-
-<p><u>Old Syntax</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet&gt;</font>
-    &lt;category&gt;...&lt/category&gt;
-  <font color="#7B7B7B">&lt/project-facet&gt;
-&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-<p><u>New Syntax</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;
-  &lt;project-facet&gt;</font>
-    &lt;member category="..."/&gt;
-  <font color="#7B7B7B">&lt/project-facet&gt;
-&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="listeners">9. Listeners and Events</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The existing facilities for listening on faceted project model changes have been re-designed to
-provide more information about the change that took place and to provide the same facility
-regardless of whether the client chooses to register the listener via direct API call or via an
-extension point.</p>
-
-<p>In 1.5, extenders could either:</p>
-
-<ol>
-  
-  <li>Use <code>IFacetedProject.addListener()</code> method. Listener would get called when any
-  aspect of faceted project model was changed, but the listener was not given any details about
-  the change that took place.<br/><br/></li>
-  
-  <li>Use <code>&lt;event-handler&gt;</code> element of the 
-  <code>org.eclipse.wst.common.project.facet.core.facets</code> extension point to register an
-  <code>IDelegate</code> implementation which is similar to how actions are implemented. This 
-  approach gave user a bit more control over what events to process as well as more information
-  regarding what actually took place. However, not all changes could be surfaced via this 
-  interface due to limitations of the extension point and the <code>IDelegate</code> interface.</li>
-  
-</ol>
-
-<p>Full discussion of the new facility can be found <a href="listeners.html">here</a>.</p>
-   
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener
-{
-    void handleEvent( IFacetedProjectEvent event );
-}
-
-org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent
-{
-    enum Type
-    {
-        PROJECT_MODIFIED,
-        PRE_INSTALL,
-        POST_INSTALL,
-        PRE_UNINSTALL,
-        POST_UNINSTALL,
-        PRE_VERSION_CHANGE,
-        POST_VERSION_CHANGE,
-        FIXED_FACETS_CHANGED,
-        TARGETED_RUNTIMES_CHANGED,
-        PRIMARY_RUNTIME_CHANGED
-    }
-    
-    Type getType();
-    IFacetedProject getProject();
-}
-
-org.eclipse.wst.common.project.facet.core.events.IFixedFacetsChangedEvent : IFacetedProjectEvent
-{
-    Set&lt;IProjectFacet&gt; getOldFixedFacets();
-    Set&lt;IProjectFacet&gt; getNewFixedFacets();
-}
-
-org.eclipse.wst.common.project.facet.core.events.IProjectFacetActionEvent : IFacetedProjectEvent
-{
-    IProjectFacet getProjectFacet();
-    IProjectFacetVersion getProjectFacetVersion();
-    Object getActionConfig();
-}
-
-org.eclipse.wst.common.project.facet.core.events.IPrimaryRuntimeChangedEvent : IFacetedProjectEvent
-{
-    IRuntime getOldPrimaryRuntime();
-    IRuntime getNewPrimaryRuntime();
-}
-
-org.eclipse.wst.common.project.facet.core.events.ITargetedRuntimesChangedEvent : IFacetedProjectEvent
-{
-    Set&lt;IRuntime&gt; getOldTargetedRuntimes();
-    Set&lt;IRuntime&gt; getNewTargetedRuntimes();
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
-    void addListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener, IFacetedProjectEvent.Type... );
-    void removeListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener );
-<font color="#7B7B7B">}</font>
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.FacetedProjectFramework
-{</font>
-    void addListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener, IFacetedProjectEvent.Type... );
-    void removeListener( org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener );
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-<p><u>New Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-&lt;extension point="org.eclipse.wst.common.project.facet.core.listeners"&gt;
-  &lt;listener 
-    class="{class:org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener}"
-    eventTypes="{csv:org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type}"/> <i>(1 or more)</i>
-&lt;extension&gt;
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Java API</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor=#FFF1C1>
-<pre>
-org.eclipse.wst.common.project.facet.core.IFacetedProjectListener
-{
-    projectChanged();
-}
-
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
-    void addListener( org.eclipse.wst.common.project.facet.core.IFacetedProjectListener );
-    void removeListener( org.eclipse.wst.common.project.facet.core.IFacetedProjectListener );
-<font color="#7B7B7B">}</font>
-
-org.eclipse.wst.common.project.facet.core.IRuntimeChangedEvent
-{
-    IRuntime getOldRuntime();
-    IRuntime getNewRuntime();
-}
-</pre>
-</td></tr></table>
-
-<p><u>Deprecated Extension Point</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#FFF1C1">
-<pre>
-<font color="#7B7B7B">&lt;extension point="org.eclipse.wst.common.project.facet.core.facets"&gt;</font>
-  &lt;event-handler type="{string}" facet="{string}" version="{string}"&gt;
-    &lt;delegate class="{class:org.eclipse.wst.common.project.facet.core.IDelegate}"/&gt;
-  &lt/event-handler&gt;
-<font color="#7B7B7B">&lt;extension&gt;</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="misc">10. Miscellaneous</a></font></p>
-<!--  ********************************************************************** -->
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">org.eclipse.wst.common.project.facet.core.IFacetedProject
-{</font>
-    boolean isTargetable( IRuntime runtime );
-    boolean isTargeted( IRuntime runtime );
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew301.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew301.html
deleted file mode 100644
index d8a7c83..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew301.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
-  http-equiv="Content-Type"
-  content="text/html; charset=iso-8859-1">
-<title>What's New for 2.0?</title>
-<link
-  rel="stylesheet"
-  type="text/css"
-  href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 3.0.1?</p>
-
-<p>This document describes the API changes that have been made in the Faceted Project Framework for 
-the WTP 3.0.1 release. Both Java API and extension point changes are covered. All API that was 
-deprecated in this release is still supported, but clients are advised to switch to non-deprecated 
-alternatives as soon as feasible.</p>
-
-<ol>
-  <li><a href="#separate-icons">Separate Icons for Different Versions of a Runtime Component Type</a></li>
-  <li><a href="#rcv-adaptable">IRuntimeComponentVersion Extends IAdaptable</a></li>
-</ol>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#separate-icons">1. Separate Icons for Different Versions of a Runtime Component Type</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The <code>images</code> extension point now supports a <code>version</code> attribute when used
-together with <code>runtime-component-type</code> attribute. This allows separate icons to be used
-for different versions of the same runtime component type.</p>  
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#rcv-adaptable">2. IRuntimeComponentVersion Extends IAdaptable</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>IRuntimeComponentVersion interface now extends platform's IAdaptable interface.</p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew310.html b/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew310.html
deleted file mode 100644
index 11e87b5..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/guide/whatsnew310.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-"http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta
-  http-equiv="Content-Type"
-  content="text/html; charset=iso-8859-1">
-<title>What's New for 3.1?</title>
-<link
-  rel="stylesheet"
-  type="text/css"
-  href="format.css">
-</head>
-
-<body>
-<p class="ueberschrift">What's New for 3.1?</p>
-
-<p>This document describes the API changes that have been made in the Faceted Project Framework for 
-the WTP 3.1 release. Both Java API and extension point changes are covered.</p>
-
-<ol>
-  <li><a href="#framework-exception">FacetedProjectFrameworkException</a></li>
-  <li><a href="#batching-validate-edit">Batching Validate Edit Calls</a></li>
-  <li><a href="#basic-wizard">Improvements to BasicFacetedProjectWizard</a></li>
-  <li><a href="#preferences">Managing Project Facet Preferences</a></li>
-</ol>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#framework-exception">1. FacetedProjectFrameworkException</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>A framework-specific subclass of CoreException has been introduced in order to allow IDelegate implementations 
-a way to signal that an exception is expected. An example of an expected exception is when a user 
-declines to make a necessary file writable. Marking an exception as expected can be used as a signal 
-by handlers to alter the way the exception is presented to the user (perhaps not displaying the 
-stack trace and/or not logging it).</p>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-interface FacetedProjectFrameworkException extends CoreException
-{
-    FacetedProjectFrameworkException( IStatus status );
-    boolean isExpected();
-    void setExcpeted( boolean expected );
-}
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#batching-validate-edit">2. Batching Validate Edit Calls</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>It is often desirable to batch IWorkspace.validateEdit() calls in order to reduce the number
-of prompts to the user. An API has been added to allow a facet action to specify the files that
-it intends to operate on. The framework will make a batched call to validateEdit prior to running 
-any of the actions.</p>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">abstract class ActionConfig
-{</font>    
-    Set<IFile> getValidateEditFiles();
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#basic-wizard">3. Improvements to BasicFacetedProjectWizard</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>The generic New Faceted Project wizard now allows the project to be added to working
-sets via UI on the first page.</p>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">class BasicFacetedProjectWizard
-{</font>    
-    IWorkbench getWorkbench();
-    IStructuredSelection getSelection();
-<font color="#7B7B7B">}</font>
-
-class BasicFacetedProjectWizardFirstPage extends WizardNewProjectCreationPage
-{    
-}
-</pre>
-</td></tr></table>
- 
-
-<!--  ********************************************************************** -->
-<p><font size="+1"><a name="#preferences">4. Managing Project Facet Preferences</a></font></p>
-<!--  ********************************************************************** -->
-
-<p>New facility for managing preferences associated with facets has been introduced. More information
-can be found in <a href="answers/projectFacetPreferences.html">FAQ</a>.</p>
-
-<p><u>Java API Additions</u></p>
-
-<table cellpadding="10"><tr><td width="10">&nbsp;</td><td bgcolor="#E2E2E2">
-<pre>
-<font color="#7B7B7B">class FacetedProjectFramework
-{</font>
-    Preferences getPreferences( IProjectFacet facet );
-<font color="#7B7B7B">}</font>
-
-<font color="#7B7B7B">interface IFacetedProject
-{</font>
-    Preferences getPreferences( IProjectFacet facet );
-<font color="#7B7B7B">}</font>
-</pre>
-</td></tr></table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/javadoc.xml b/plugins/org.eclipse.wst.common.project.facet.doc.api/javadoc.xml
deleted file mode 100644
index 5186947..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/javadoc.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project default="export-javadoc">
-	
-  <target name="export-javadoc">
-  	<property environment="env"/>
-    <property name="javadoc.dir" value="reference/api"/>
-  	<mkdir dir="${javadoc.dir}"/>
-    <delete dir="${javadoc.dir}"/>
-  	<mkdir dir="${javadoc.dir}"/>
-    <javadoc
-      maxmemory="1024m"
-      destdir="${javadoc.dir}" 
-      access="protected" 
-      author="true"
-      version="true"
-      splitindex="true" 
-      use="true"
-      failonerror="true"
-      executable="${env.JAVA_5_HOME}/bin/javadoc">
-      <doctitle>Faceted Project Framework</doctitle>
-      <header><![CDATA[<b>Faceted Project Framework</b><br/>Version 1.3]]></header>
-      <footer><![CDATA[<b>Faceted Project Framework</b><br/>Version 1.3]]></footer>
-      <bottom><![CDATA[Copyright (c) 2008 Oracle and others. All rights reserved.]]></bottom>
-      <group title="Core Packages" packages="org.eclipse.wst.common.project.facet.core:org.eclipse.wst.common.project.facet.core.*"/>
-      <group title="UI Packages" packages="org.eclipse.wst.common.project.facet.ui"/>
-      <packageset dir="../org.eclipse.wst.common.project.facet.core/src">
-        <include name="**/*"/>
-        <exclude name="**/internal/**"/>
-      </packageset>
-      <packageset dir="../org.eclipse.wst.common.project.facet.ui/src">
-        <include name="**/*"/>
-        <exclude name="**/internal/**"/>
-      </packageset>
-      <classpath refid="@dot.classpath"/>
-      <link href="http://java.sun.com/j2se/1.5/docs/api" offline="true" packagelistLoc="package-lists/java"/>
-      <link href="/org.eclipse.platform.doc.isv/reference/api" offline="true" packagelistLoc="package-lists/eclipse-platform"/>
-    </javadoc>
-  </target>
-	
-</project>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/package-lists/eclipse-platform/package-list b/plugins/org.eclipse.wst.common.project.facet.doc.api/package-lists/eclipse-platform/package-list
deleted file mode 100644
index b92c72f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/package-lists/eclipse-platform/package-list
+++ /dev/null
@@ -1,225 +0,0 @@
-org.eclipse.ant.core
-org.eclipse.compare
-org.eclipse.compare.contentmergeviewer
-org.eclipse.compare.patch
-org.eclipse.compare.rangedifferencer
-org.eclipse.compare.structuremergeviewer
-org.eclipse.core.commands
-org.eclipse.core.commands.common
-org.eclipse.core.commands.contexts
-org.eclipse.core.commands.operations
-org.eclipse.core.databinding
-org.eclipse.core.databinding.beans
-org.eclipse.core.databinding.conversion
-org.eclipse.core.databinding.observable
-org.eclipse.core.databinding.observable.list
-org.eclipse.core.databinding.observable.map
-org.eclipse.core.databinding.observable.masterdetail
-org.eclipse.core.databinding.observable.set
-org.eclipse.core.databinding.observable.value
-org.eclipse.core.databinding.util
-org.eclipse.core.databinding.validation
-org.eclipse.core.expressions
-org.eclipse.core.filebuffers
-org.eclipse.core.filebuffers.manipulation
-org.eclipse.core.filesystem
-org.eclipse.core.filesystem.provider
-org.eclipse.core.net.proxy
-org.eclipse.core.resources
-org.eclipse.core.resources.mapping
-org.eclipse.core.resources.refresh
-org.eclipse.core.resources.team
-org.eclipse.core.runtime
-org.eclipse.core.runtime.adaptor
-org.eclipse.core.runtime.content
-org.eclipse.core.runtime.dynamichelpers
-org.eclipse.core.runtime.jobs
-org.eclipse.core.runtime.model
-org.eclipse.core.runtime.preferences
-org.eclipse.core.runtime.spi
-org.eclipse.core.variables
-org.eclipse.debug.core
-org.eclipse.debug.core.commands
-org.eclipse.debug.core.model
-org.eclipse.debug.core.sourcelookup
-org.eclipse.debug.core.sourcelookup.containers
-org.eclipse.debug.ui
-org.eclipse.debug.ui.actions
-org.eclipse.debug.ui.console
-org.eclipse.debug.ui.contexts
-org.eclipse.debug.ui.memory
-org.eclipse.debug.ui.sourcelookup
-org.eclipse.equinox.app
-org.eclipse.equinox.http.jetty
-org.eclipse.equinox.http.registry
-org.eclipse.equinox.http.servlet
-org.eclipse.equinox.jsp.jasper
-org.eclipse.equinox.jsp.jasper.registry
-org.eclipse.equinox.security.auth
-org.eclipse.equinox.security.auth.credentials
-org.eclipse.equinox.security.auth.module
-org.eclipse.equinox.security.storage
-org.eclipse.equinox.security.storage.provider
-org.eclipse.help
-org.eclipse.help.browser
-org.eclipse.help.search
-org.eclipse.help.standalone
-org.eclipse.help.ui
-org.eclipse.help.ui.browser
-org.eclipse.jface.action
-org.eclipse.jface.bindings
-org.eclipse.jface.bindings.keys
-org.eclipse.jface.bindings.keys.formatting
-org.eclipse.jface.commands
-org.eclipse.jface.contentassist
-org.eclipse.jface.contexts
-org.eclipse.jface.databinding.swt
-org.eclipse.jface.databinding.viewers
-org.eclipse.jface.databinding.wizard
-org.eclipse.jface.dialogs
-org.eclipse.jface.fieldassist
-org.eclipse.jface.layout
-org.eclipse.jface.menus
-org.eclipse.jface.operation
-org.eclipse.jface.preference
-org.eclipse.jface.resource
-org.eclipse.jface.text
-org.eclipse.jface.text.contentassist
-org.eclipse.jface.text.formatter
-org.eclipse.jface.text.hyperlink
-org.eclipse.jface.text.information
-org.eclipse.jface.text.link
-org.eclipse.jface.text.presentation
-org.eclipse.jface.text.projection
-org.eclipse.jface.text.quickassist
-org.eclipse.jface.text.reconciler
-org.eclipse.jface.text.revisions
-org.eclipse.jface.text.rules
-org.eclipse.jface.text.source
-org.eclipse.jface.text.source.projection
-org.eclipse.jface.text.templates
-org.eclipse.jface.text.templates.persistence
-org.eclipse.jface.util
-org.eclipse.jface.viewers
-org.eclipse.jface.viewers.deferred
-org.eclipse.jface.window
-org.eclipse.jface.wizard
-org.eclipse.jsch.core
-org.eclipse.jsch.ui
-org.eclipse.ltk.core.refactoring
-org.eclipse.ltk.core.refactoring.history
-org.eclipse.ltk.core.refactoring.model
-org.eclipse.ltk.core.refactoring.participants
-org.eclipse.ltk.core.refactoring.resource
-org.eclipse.ltk.ui.refactoring
-org.eclipse.ltk.ui.refactoring.actions
-org.eclipse.ltk.ui.refactoring.history
-org.eclipse.ltk.ui.refactoring.model
-org.eclipse.ltk.ui.refactoring.resource
-org.eclipse.osgi.service.datalocation
-org.eclipse.osgi.util
-org.eclipse.search.core.text
-org.eclipse.search.ui
-org.eclipse.search.ui.actions
-org.eclipse.search.ui.text
-org.eclipse.swt
-org.eclipse.swt.accessibility
-org.eclipse.swt.awt
-org.eclipse.swt.browser
-org.eclipse.swt.custom
-org.eclipse.swt.dnd
-org.eclipse.swt.events
-org.eclipse.swt.graphics
-org.eclipse.swt.layout
-org.eclipse.swt.ole.win32
-org.eclipse.swt.opengl
-org.eclipse.swt.printing
-org.eclipse.swt.program
-org.eclipse.swt.widgets
-org.eclipse.team.core
-org.eclipse.team.core.diff
-org.eclipse.team.core.diff.provider
-org.eclipse.team.core.history
-org.eclipse.team.core.history.provider
-org.eclipse.team.core.mapping
-org.eclipse.team.core.mapping.provider
-org.eclipse.team.core.subscribers
-org.eclipse.team.core.synchronize
-org.eclipse.team.core.variants
-org.eclipse.team.ui
-org.eclipse.team.ui.history
-org.eclipse.team.ui.mapping
-org.eclipse.team.ui.synchronize
-org.eclipse.text.edits
-org.eclipse.text.undo
-org.eclipse.ui
-org.eclipse.ui.about
-org.eclipse.ui.actions
-org.eclipse.ui.activities
-org.eclipse.ui.application
-org.eclipse.ui.branding
-org.eclipse.ui.browser
-org.eclipse.ui.cheatsheets
-org.eclipse.ui.commands
-org.eclipse.ui.console
-org.eclipse.ui.console.actions
-org.eclipse.ui.contentassist
-org.eclipse.ui.contexts
-org.eclipse.ui.dialogs
-org.eclipse.ui.editors.text
-org.eclipse.ui.editors.text.templates
-org.eclipse.ui.fieldassist
-org.eclipse.ui.forms
-org.eclipse.ui.forms.editor
-org.eclipse.ui.forms.events
-org.eclipse.ui.forms.widgets
-org.eclipse.ui.handlers
-org.eclipse.ui.help
-org.eclipse.ui.ide
-org.eclipse.ui.ide.dialogs
-org.eclipse.ui.ide.fileSystem
-org.eclipse.ui.ide.undo
-org.eclipse.ui.intro
-org.eclipse.ui.intro.config
-org.eclipse.ui.intro.universal
-org.eclipse.ui.keys
-org.eclipse.ui.menus
-org.eclipse.ui.model
-org.eclipse.ui.navigator
-org.eclipse.ui.navigator.resources
-org.eclipse.ui.operations
-org.eclipse.ui.part
-org.eclipse.ui.plugin
-org.eclipse.ui.preferences
-org.eclipse.ui.presentations
-org.eclipse.ui.progress
-org.eclipse.ui.services
-org.eclipse.ui.statushandlers
-org.eclipse.ui.swt
-org.eclipse.ui.testing
-org.eclipse.ui.texteditor
-org.eclipse.ui.texteditor.link
-org.eclipse.ui.texteditor.quickdiff
-org.eclipse.ui.texteditor.rulers
-org.eclipse.ui.texteditor.spelling
-org.eclipse.ui.texteditor.templates
-org.eclipse.ui.themes
-org.eclipse.ui.views
-org.eclipse.ui.views.bookmarkexplorer
-org.eclipse.ui.views.contentoutline
-org.eclipse.ui.views.framelist
-org.eclipse.ui.views.markers
-org.eclipse.ui.views.navigator
-org.eclipse.ui.views.properties
-org.eclipse.ui.views.properties.tabbed
-org.eclipse.ui.views.tasklist
-org.eclipse.ui.wizards
-org.eclipse.ui.wizards.datatransfer
-org.eclipse.ui.wizards.newresource
-org.eclipse.update.configuration
-org.eclipse.update.configurator
-org.eclipse.update.core
-org.eclipse.update.core.model
-org.eclipse.update.operations
-org.eclipse.update.search
-org.eclipse.update.standalone
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/package-lists/java/package-list b/plugins/org.eclipse.wst.common.project.facet.doc.api/package-lists/java/package-list
deleted file mode 100644
index 4878336..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/package-lists/java/package-list
+++ /dev/null
@@ -1,166 +0,0 @@
-java.applet
-java.awt
-java.awt.color
-java.awt.datatransfer
-java.awt.dnd
-java.awt.event
-java.awt.font
-java.awt.geom
-java.awt.im
-java.awt.im.spi
-java.awt.image
-java.awt.image.renderable
-java.awt.print
-java.beans
-java.beans.beancontext
-java.io
-java.lang
-java.lang.annotation
-java.lang.instrument
-java.lang.management
-java.lang.ref
-java.lang.reflect
-java.math
-java.net
-java.nio
-java.nio.channels
-java.nio.channels.spi
-java.nio.charset
-java.nio.charset.spi
-java.rmi
-java.rmi.activation
-java.rmi.dgc
-java.rmi.registry
-java.rmi.server
-java.security
-java.security.acl
-java.security.cert
-java.security.interfaces
-java.security.spec
-java.sql
-java.text
-java.util
-java.util.concurrent
-java.util.concurrent.atomic
-java.util.concurrent.locks
-java.util.jar
-java.util.logging
-java.util.prefs
-java.util.regex
-java.util.zip
-javax.accessibility
-javax.activity
-javax.crypto
-javax.crypto.interfaces
-javax.crypto.spec
-javax.imageio
-javax.imageio.event
-javax.imageio.metadata
-javax.imageio.plugins.bmp
-javax.imageio.plugins.jpeg
-javax.imageio.spi
-javax.imageio.stream
-javax.management
-javax.management.loading
-javax.management.modelmbean
-javax.management.monitor
-javax.management.openmbean
-javax.management.relation
-javax.management.remote
-javax.management.remote.rmi
-javax.management.timer
-javax.naming
-javax.naming.directory
-javax.naming.event
-javax.naming.ldap
-javax.naming.spi
-javax.net
-javax.net.ssl
-javax.print
-javax.print.attribute
-javax.print.attribute.standard
-javax.print.event
-javax.rmi
-javax.rmi.CORBA
-javax.rmi.ssl
-javax.security.auth
-javax.security.auth.callback
-javax.security.auth.kerberos
-javax.security.auth.login
-javax.security.auth.spi
-javax.security.auth.x500
-javax.security.cert
-javax.security.sasl
-javax.sound.midi
-javax.sound.midi.spi
-javax.sound.sampled
-javax.sound.sampled.spi
-javax.sql
-javax.sql.rowset
-javax.sql.rowset.serial
-javax.sql.rowset.spi
-javax.swing
-javax.swing.border
-javax.swing.colorchooser
-javax.swing.event
-javax.swing.filechooser
-javax.swing.plaf
-javax.swing.plaf.basic
-javax.swing.plaf.metal
-javax.swing.plaf.multi
-javax.swing.plaf.synth
-javax.swing.table
-javax.swing.text
-javax.swing.text.html
-javax.swing.text.html.parser
-javax.swing.text.rtf
-javax.swing.tree
-javax.swing.undo
-javax.transaction
-javax.transaction.xa
-javax.xml
-javax.xml.datatype
-javax.xml.namespace
-javax.xml.parsers
-javax.xml.transform
-javax.xml.transform.dom
-javax.xml.transform.sax
-javax.xml.transform.stream
-javax.xml.validation
-javax.xml.xpath
-org.ietf.jgss
-org.omg.CORBA
-org.omg.CORBA.DynAnyPackage
-org.omg.CORBA.ORBPackage
-org.omg.CORBA.TypeCodePackage
-org.omg.CORBA.portable
-org.omg.CORBA_2_3
-org.omg.CORBA_2_3.portable
-org.omg.CosNaming
-org.omg.CosNaming.NamingContextExtPackage
-org.omg.CosNaming.NamingContextPackage
-org.omg.Dynamic
-org.omg.DynamicAny
-org.omg.DynamicAny.DynAnyFactoryPackage
-org.omg.DynamicAny.DynAnyPackage
-org.omg.IOP
-org.omg.IOP.CodecFactoryPackage
-org.omg.IOP.CodecPackage
-org.omg.Messaging
-org.omg.PortableInterceptor
-org.omg.PortableInterceptor.ORBInitInfoPackage
-org.omg.PortableServer
-org.omg.PortableServer.CurrentPackage
-org.omg.PortableServer.POAManagerPackage
-org.omg.PortableServer.POAPackage
-org.omg.PortableServer.ServantLocatorPackage
-org.omg.PortableServer.portable
-org.omg.SendingContext
-org.omg.stub.java.rmi
-org.w3c.dom
-org.w3c.dom.bootstrap
-org.w3c.dom.events
-org.w3c.dom.ls
-org.xml.sax
-org.xml.sax.ext
-org.xml.sax.helpers
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.properties b/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.properties
deleted file mode 100644
index bee0df9..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Eclipse Faceted Project Framework API Documentation
-providerName = Eclipse Web Tools Platform
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.xml b/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.xml
deleted file mode 100644
index 1e6c624..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-  
-  <extension point="org.eclipse.help.toc">
-    <toc file="toc.xml" primary="true">
-    </toc>
-  </extension>
-	
-  <extension point="org.eclipse.pde.core.javadoc">
-    <javadoc path="reference/api">
-      <plugin id="org.eclipse.wst.common.project.facet.core"/>
-      <plugin id="org.eclipse.wst.common.project.facet.ui"/>
-    </javadoc>
-  </extension>
-   	
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/src/.do-not-delete b/plugins/org.eclipse.wst.common.project.facet.doc.api/src/.do-not-delete
deleted file mode 100644
index e69de29..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/src/.do-not-delete
+++ /dev/null
diff --git a/plugins/org.eclipse.wst.common.project.facet.doc.api/toc.xml b/plugins/org.eclipse.wst.common.project.facet.doc.api/toc.xml
deleted file mode 100644
index 84fab80..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.doc.api/toc.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Faceted Project Framework Developer Guide">
-
-  <topic label="Programmer's Guide" href="guide/description.html">
-    <topic 
-      label="Tutorial" 
-      href="guide/tutorial/tutorial.html"/>
-    <topic 
-      label="Listening for Changes to Faceted Projects"
-      href="guide/listeners.html"/>
-    <topic 
-      label="Enabling UI Elements Based on Project Facets"
-      href="guide/enabling-based-on-facets.html"/>
-    <topic label="Questions &amp; Answers">
-       <topic href="guide/answers/projectFacetPreferences.html" label="Managing Preferences">
-       </topic>
-    </topic>
-    <topic 
-      label="New for 1.5"
-      href="guide/whatsnew150.html"/>
-    <topic 
-      label="New for 1.5.1"
-      href="guide/whatsnew151.html"/>
-    <topic 
-      label="New for 2.0"
-      href="guide/whatsnew20.html"/>
-    <topic 
-      label="New for 3.0.1"
-      href="guide/whatsnew301.html"/>
-    <topic 
-      label="New for 3.1"
-      href="guide/whatsnew310.html"/>
-  </topic>
-    
-  <topic label="Reference">
-    <topic label="API Reference" href="reference/api/overview-summary.html">
-      <topic 
-        label="org.eclipse.wst.common.project.facet.core"
-        href="reference/api/org/eclipse/wst/common/project/facet/core/package-summary.html"/>
-      <topic
-        label="org.eclipse.wst.common.project.facet.core.events"
-        href="reference/api/org/eclipse/wst/common/project/facet/core/events/package-summary.html"/>
-      <topic
-        label="org.eclipse.wst.common.project.facet.core.runtime"
-        href="reference/api/org/eclipse/wst/common/project/facet/core/runtime/package-summary.html"/>
-      <topic
-        label="org.eclipse.wst.common.project.facet.core.runtime.events"
-        href="reference/api/org/eclipse/wst/common/project/facet/core/runtime/events/package-summary.html"/>
-      <topic
-        label="org.eclipse.wst.common.project.facet.core.util"
-        href="reference/api/org/eclipse/wst/common/project/facet/core/util/package-summary.html"/>
-      <topic
-        label="org.eclipse.wst.common.project.facet.ui"
-        href="reference/api/org/eclipse/wst/common/project/facet/ui/package-summary.html"/>
-    </topic>
-  </topic>   
-      
-</toc>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.classpath b/plugins/org.eclipse.wst.common.project.facet.ui/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore b/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore
deleted file mode 100644
index 0d662e0..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-build.xml
-facet-ui.jar
-temp.folder
-@dot
-src.zip
-javaCompiler...args
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.options b/plugins/org.eclipse.wst.common.project.facet.ui/.options
deleted file mode 100644
index a190b2b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.common.project.facet.ui/propPage/actionConfigValidation = false
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.project b/plugins/org.eclipse.wst.common.project.facet.ui/.project
deleted file mode 100644
index 092f372..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.project.facet.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 394fb31..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Sun Apr 12 20:03:32 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index f7ace9e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: %providerName
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.common.project.facet.ui; singleton:=true
-Bundle-Version: 1.4.100.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.project.facet.ui,
- org.eclipse.wst.common.project.facet.ui.internal;x-friends:="org.eclipse.jst.common.project.facet.ui",
- org.eclipse.wst.common.project.facet.ui.internal.util;x-friends:="org.eclipse.jst.common.project.facet.ui"
-Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
- org.eclipse.ui.forms;bundle-version="[3.3.100,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)";visibility:=reexport
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/about.html b/plugins/org.eclipse.wst.common.project.facet.ui/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the RedistributorÂ’s license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/build.properties b/plugins/org.eclipse.wst.common.project.facet.ui/build.properties
deleted file mode 100644
index bde06f4..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               plugin.xml,\
-               plugin.properties,\
-               images/,\
-               schemas/,\
-               META-INF/,\
-               about.html,\
-               .options
-src.includes = about.html
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/default-runtime-image.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/default-runtime-image.gif
deleted file mode 100644
index b51ae39..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/default-runtime-image.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/down-arrow.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/down-arrow.gif
deleted file mode 100644
index ec79346..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/down-arrow.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/error-overlay.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/error-overlay.gif
deleted file mode 100644
index 119dccc..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/error-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/facets-page-wizban.png b/plugins/org.eclipse.wst.common.project.facet.ui/images/facets-page-wizban.png
deleted file mode 100644
index b91c116..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/facets-page-wizban.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/lock.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/lock.gif
deleted file mode 100644
index be6a9ad..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/lock.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj-wiz.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj-wiz.gif
deleted file mode 100644
index fbbac0f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj-wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj-wizban.png b/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj-wizban.png
deleted file mode 100644
index fdff016..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/newprj-wizban.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/overlays/error.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/overlays/error.gif
deleted file mode 100644
index 119dccc..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/overlays/error.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/overlays/warning.png b/plugins/org.eclipse.wst.common.project.facet.ui/images/overlays/warning.png
deleted file mode 100644
index 8c1e86c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/overlays/warning.png
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/primary-runtime-overlay.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/primary-runtime-overlay.gif
deleted file mode 100644
index 7ec574b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/primary-runtime-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/unknown.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/images/warning-overlay.gif b/plugins/org.eclipse.wst.common.project.facet.ui/images/warning-overlay.gif
deleted file mode 100644
index ee2dac4..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/images/warning-overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties b/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties
deleted file mode 100644
index bfc8a6d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-pluginName = Eclipse Faceted Project Framework UI
-providerName = Eclipse Web Tools Platform
-project.facets = Project Facets
-runtimesPropertyPageLabel = Targeted Runtimes
-basicFacetedProjectWizardName = Faceted Project
-convertToFacetedFormCommandName = Convert to Faceted Form...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml b/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml
deleted file mode 100644
index 07cd21c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/plugin.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension-point 
-    id="wizard"
-    name="Project Facet Wizard Pages Extension Point (Deprecated)"
-    schema="schemas/wizard-pages-old.exsd"/>
-
-  <extension-point 
-    id="wizardPages"
-    name="Project Facet Wizard Pages Extension Point"
-    schema="schemas/wizard-pages.exsd"/>
-
-  <extension-point 
-    id="images"
-    name="Project Facet Images Extension Point"
-    schema="schemas/images.exsd"/>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.DecorationsProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.IProjectFacet">
-      <adapter type="org.eclipse.wst.common.project.facet.ui.IDecorationsProvider"/>
-    </factory>
-  </extension>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.DecorationsProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.ICategory">
-      <adapter type="org.eclipse.wst.common.project.facet.ui.IDecorationsProvider"/>
-    </factory>
-  </extension>
-
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.DecorationsProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion">
-      <adapter type="org.eclipse.wst.common.project.facet.ui.IDecorationsProvider"/>
-    </factory>
-  </extension>
-  
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.RuntimeDecorationsProvider$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.runtime.IRuntime">
-      <adapter type="org.eclipse.wst.common.project.facet.ui.IDecorationsProvider"/>
-    </factory>
-  </extension>
-  
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.project.facet.ui.internal.FacetedProjectActionFilter$Factory" 
-      adaptableType="org.eclipse.wst.common.project.facet.core.IFacetedProject">
-      <adapter type="org.eclipse.ui.IActionFilter"/>
-    </factory>
-  </extension>
-    
-  <extension point="org.eclipse.ui.propertyPages">
-    <page
-      adaptable="true"
-      class="org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage"
-      id="org.eclipse.wst.common.project.facet.ui.FacetsPropertyPage"
-      name="%project.facets"
-      objectClass="org.eclipse.core.resources.IProject">
-    </page>
-    <page
-      adaptable="true"
-      class="org.eclipse.wst.common.project.facet.ui.internal.RuntimesPropertyPage"
-      id="org.eclipse.wst.common.project.facet.ui.RuntimesPropertyPage"
-      name="%runtimesPropertyPageLabel"
-      objectClass="org.eclipse.core.resources.IProject">
-      <filter
-        name="nature"
-        value="org.eclipse.wst.common.project.facet.core.nature">
-      </filter>
-    </page>
-  </extension>
-  
-  <extension point="org.eclipse.ui.newWizards">
-    <wizard
-      canFinishEarly="false"
-      class="org.eclipse.wst.common.project.facet.ui.BasicFacetedProjectWizard"
-      hasPages="true"
-      icon="images/newprj-wiz.gif"
-      id="org.eclipse.wst.common.project.facet.ui.BasicFacetedProjectWizard"
-      name="%basicFacetedProjectWizardName"
-      project="true"
-      category="org.eclipse.ui.Basic">
-    </wizard>
-  </extension>
-  
-  <extension point="org.eclipse.ui.commands">
-    <command
-      categoryId="org.eclipse.ui.category.file"
-      defaultHandler="org.eclipse.wst.common.project.facet.ui.internal.ConvertProjectToFacetedFormCommandHandler"
-      id="org.eclipse.wst.common.project.facet.ui.ConvertProjectToFacetedForm"
-      name="%convertToFacetedFormCommandName">
-    </command>
-  </extension>
-  
-  <extension point="org.eclipse.ui.menus">
-    <menuContribution locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
-      <command commandId="org.eclipse.wst.common.project.facet.ui.ConvertProjectToFacetedForm" style="push">
-        <visibleWhen checkEnabled="false">
-          <and>
-            <count value="1"/>
-            <iterate ifEmpty="false" operator="and">
-              <adapt type="org.eclipse.core.resources.IProject">
-                <not>
-                  <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.wst.common.project.facet.core.nature"/>
-                </not>
-              </adapt>
-            </iterate>
-          </and>
-        </visibleWhen>
-      </command>
-    </menuContribution>
-  </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/images.exsd b/plugins/org.eclipse.wst.common.project.facet.ui/schemas/images.exsd
deleted file mode 100644
index 43a279e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/images.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.eclipse.wst.common.project.facet.ui" id="images" name="Project Facet Images Extension Point"/>
-      </appinfo>
-      <documentation>
-         Used for specifying the image that should be used with a facet, a category, or a runtime component type.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="image" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A fully qualified identifier of the target extension point.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  An optional identifier of the extension instance.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  An optional name of the extension instance.
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="image">
-      <annotation>
-         <documentation>
-            Specifies the image that should be used with the specified facet, category, or runtime component type. Only one of the &lt;i&gt;facet&lt;/i&gt;, &lt;i&gt;category&lt;/i&gt;, and &lt;i&gt;runtime-component-type&lt;/i&gt; attributes should be used.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="facet" type="string">
-            <annotation>
-               <documentation>
-                  The project facet id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The category id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="runtime-component-type" type="string">
-            <annotation>
-               <documentation>
-                  The runtime component type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="path" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The relative path to the image within this plugin.
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="resource"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string">
-            <annotation>
-               <documentation>
-                  This attribute is only applicable when specifying an image for a runtime component type. It specifies the version of the runtime component type that this image applies to. Multiple versions can be specified using version expression syntax. The version expression should be of the form &quot;2.2,2.5,[3.0-5.3],(7.3&quot;, where the comas function as an OR. Brackets and parenthesis are used as part of the range notation. A bracket means inclusive while a parenthesis means exclusive. If omitted, the image applies to all versions of the runtime component type.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         &lt;p&gt;The following example associates images with two facets and a category.&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.common.project.facet.ui.images&quot;&gt;
-  &lt;image facet=&quot;facet1&quot; path=&quot;icons/facet1.gif&quot;/&gt;
-  &lt;image facet=&quot;facet2&quot; path=&quot;icons/facet2.gif&quot;/&gt;
-  &lt;image category=&quot;category1&quot; path=&quot;icons/category1.gif&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2010 Oracle and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages-old.exsd b/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages-old.exsd
deleted file mode 100644
index 17fba98..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages-old.exsd
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.project.facet.ui" id="wizard" name="Project Facet Wizard Pages Extension Point"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="wizard-pages" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true" deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="wizard-pages">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="install" minOccurs="0" maxOccurs="1"/>
-            <element ref="uninstall" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="facet" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="version" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="install">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="uninstall">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="page">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.ui.IFacetWizardPage"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </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) 2010 Oracle and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd b/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd
deleted file mode 100644
index fd3bf3a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/schemas/wizard-pages.exsd
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.project.facet.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.project.facet.ui" id="wizardPages" name="Project Facet Wizard Pages Extension Point"/>
-      </appInfo>
-      <documentation>
-         Used for associating wizard pages with a project facet action. For instance, wizard pages can be associated with the action of installing facet Abc or uninstalling facet FooBar.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <documentation>
-            (no description available)
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="wizard-pages" 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="wizard-pages">
-      <annotation>
-         <documentation>
-            Used for associating wizard pages with a project facet action. For instance, wizard pages can be associated with the action of installing facet Abc or uninstalling facet FooBar.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="action" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The action id. If the action does not specify an explicit id, the default id is created using the following format: &quot;[facet-id]#[version-expression]#[action-type]&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="page">
-      <annotation>
-         <documentation>
-            Specifies one page in a sequence of wizard pages being associated with a project facet action.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The wizard page class name. Has to implement org.eclipse.wst.common.project.facet.ui.IFacetWizardPage interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.ui.IFacetWizardPage"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;The following example associates wizard pages with install and uninstall actions of facet1.&lt;/p&gt;
-
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.wst.common.project.facet.ui.wizardPages&quot;&gt;
-  &lt;wizard-pages action=&quot;facet1.install&quot;&gt;
-    &lt;page class=&quot;com.mycorp.Facet1InstallPage1&quot;/&gt;
-    &lt;page class=&quot;com.mycorp.Facet1InstallPage2&quot;/&gt;
-  &lt;/wizard-pages&gt;
-  &lt;wizard-pages action=&quot;facet1.uninstall&quot;&gt;
-    &lt;page class=&quot;com.mycorp.Facet1UninstallPage&quot;/&gt;
-  &lt;/wizard-pages&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) 2010 Oracle and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java
deleted file mode 100644
index b45301d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AbstractFacetWizardPage.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.wizard.WizardPage;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public abstract class AbstractFacetWizardPage
-
-    extends WizardPage
-    implements IFacetWizardPage
-    
-{
-    protected IWizardContext context;
-    
-    public AbstractFacetWizardPage( final String name )
-    {
-        super( name );
-    }
-    
-    public final void setWizardContext( final IWizardContext context )
-    {
-        this.context = context;
-    }
-    
-    public void transferStateToConfig()
-    {
-        
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java
deleted file mode 100644
index ceabe1d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/AddRemoveFacetsWizard.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @deprecated use ModifyFacetedProjectWizard class instead
- */
-
-public class AddRemoveFacetsWizard 
-
-    extends ModifyFacetedProjectWizard 
-    
-{
-    public AddRemoveFacetsWizard( final IFacetedProject fproj )
-    {
-        super( fproj );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.java
deleted file mode 100644
index d1cba61..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin.getImageDescriptor;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * A basic wizard for creating faceted projects. This wizard is available directly
- * to the users as "Basic/Faceted Project" in the new project dialog, but can also
- * be subclassed.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class BasicFacetedProjectWizard 
-
-    extends ModifyFacetedProjectWizard 
-    implements INewWizard
-    
-{
-    private IWizardPage firstPage;
-    private IWorkbench workbench;
-    private IStructuredSelection selection;
-    
-    public BasicFacetedProjectWizard()
-    {
-        this.setWindowTitle( Resources.wizardTitle );
-        setDefaultPageImageDescriptor( getImageDescriptor( "images/newprj-wizban.png" ) ); //$NON-NLS-1$
-    }
-    
-    public void init( final IWorkbench workbench, 
-                      final IStructuredSelection selection )
-    {
-        this.workbench = workbench;
-        this.selection = selection;
-    }
-    
-    /**
-     * Returns the wizard's first page.
-     *  
-     * @return the wizard's first page
-     */
-    
-    public IWizardPage getFirstPage()
-    {
-    	return this.firstPage;
-    }
-    
-    /**
-     * Returns the workbench that this wizard belongs to.
-     * 
-     * @return the workbench that this wizard belongs to
-     * @since 1.4
-     */
-    
-    public IWorkbench getWorkbench()
-    {
-        return this.workbench;
-    }
-    
-    /**
-     * Returns the selection that this wizard was launched from.
-     * 
-     * @return the selection that this wizard was launched from
-     * @since 1.4
-     */
-    
-    public IStructuredSelection getSelection()
-    {
-        return this.selection;
-    }
-    
-    /**
-     * Creates the first wizard page. Typically, this is where the user specifies the
-     * project name and location. The default implementation users a basic first page
-     * provided by the Eclipse Platform. Extenders can override this method in order 
-     * to supply a custom page. Anyone overriding this page will probably also need to
-     * override the {@link #getProjectName()} method.
-     * 
-     * @return the first page that will be used by this wizard
-     */
-    
-    protected IWizardPage createFirstPage()
-    {
-        final IWizardPage firstPage = new BasicFacetedProjectWizardFirstPage( "first.page" ); //$NON-NLS-1$
-        firstPage.setTitle( Resources.wizardTitle );
-        firstPage.setDescription( Resources.firstPageDescription );
-        
-        return firstPage;
-    }
-    
-    /**
-     * Used by the wizard to retrieve the project name that the user specifies on the
-     * first page of the wizard. The default implementation works with any subclass of
-     * the {@link WizardNewProjectCreationPage} class. Extenders who override the
-     * {@link #createFirstPage()} method will probably also need to override this method.
-     * 
-     * @return the project name specified by the user
-     */
-    
-    protected String getProjectName()
-    {
-    	return ( (WizardNewProjectCreationPage) getFirstPage() ).getProjectName();
-    }
-    
-    public void addPages()
-    {
-        this.firstPage = createFirstPage();
-        addPage( this.firstPage );
-        super.addPages();
-    }
-    
-    public IWizardPage[] getPages()
-    {
-        final IWizardPage[] base = super.getPages();
-        final IWizardPage[] pages = new IWizardPage[ base.length + 1 ];
-        
-        pages[ 0 ] = this.firstPage;
-        System.arraycopy( base, 0, pages, 1, base.length );
-        
-        return pages;
-    }
-    
-    @Override
-    public IWizardPage getNextPage( final IWizardPage page )
-    {
-        if( page == this.firstPage )
-        {
-        	final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-            fpjwc.setProjectName( getProjectName() );
-        }
-        
-        return super.getNextPage( page );
-    }
-
-    public boolean canFinish()
-    {
-        return this.firstPage.isPageComplete() && super.canFinish();
-    }
-    
-    public boolean performFinish() 
-    {
-        super.performFinish();
-
-        if( this.firstPage instanceof WizardNewProjectCreationPage )
-        {
-            final IProject project = this.getFacetedProjectWorkingCopy().getProject();
-            final WizardNewProjectCreationPage mainPage = (WizardNewProjectCreationPage) this.firstPage;
-            final IWorkingSet[] workingSets = mainPage.getSelectedWorkingSets();
-            getWorkbench().getWorkingSetManager().addToWorkingSets( project, workingSets );
-        }
-
-        return true;
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String wizardTitle;
-        public static String firstPageDescription;
-        
-        static
-        {
-            initializeMessages( BasicFacetedProjectWizard.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.properties
deleted file mode 100644
index 1abde67..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizard.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-wizardTitle = Faceted Project
-firstPageDescription = Create a new faceted project resource.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizardFirstPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizardFirstPage.java
deleted file mode 100644
index 30b4f95..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/BasicFacetedProjectWizardFirstPage.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- * @since 1.4
- */
-
-public class BasicFacetedProjectWizardFirstPage
-
-    extends WizardNewProjectCreationPage
-    
-{
-    public BasicFacetedProjectWizardFirstPage( final String pageName ) 
-    {
-        super( pageName );
-    }
-    
-    public void createControl( final Composite parent ) 
-    {
-        super.createControl( parent );
-        
-        final Composite composite = (Composite) getControl();
-        
-        createWorkingSetGroup( composite, ( (BasicFacetedProjectWizard) getWizard() ).getSelection(),
-                               new String[] { "org.eclipse.ui.resourceWorkingSetPage" } ); //$NON-NLS-1$
-        
-        Dialog.applyDialogFont( composite );
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetUiHelpContextIds.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetUiHelpContextIds.java
deleted file mode 100644
index 5ed4bf3..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetUiHelpContextIds.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin;
-
-/**
- * Contains the help context ids defined in the facet UI plugin.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetUiHelpContextIds
-{
-    /**
-     * The help context id for the overall facets selection page:  
-     * "org.eclipse.wst.common.project.facet.ui.facetsSelectionPage".
-     */
-    
-    public static final String FACETS_SELECTION_PAGE
-        = FacetUiPlugin.PLUGIN_ID + ".facetsSelectionPage"; //$NON-NLS-1$
-    
-    private FacetUiHelpContextIds() {}
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java
deleted file mode 100644
index cc9940c..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public abstract class FacetedProjectWizard 
-
-    extends ModifyFacetedProjectWizard 
-    implements INewWizard
-    
-{
-    private final IFacetedProjectTemplate template;
-    private WizardNewProjectCreationPage firstPage;
-    
-    public FacetedProjectWizard()
-    {
-        this.template = getTemplate();
-        
-        final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-        fpjwc.setSelectedPreset( this.template.getInitialPreset().getId() );
-        fpjwc.setFixedProjectFacets( this.template.getFixedProjectFacets() );
-        
-        this.setWindowTitle( Resources.newPrefix + this.template.getLabel() );
-        
-        final ImageDescriptor defImageDescriptor = getDefaultPageImageDescriptor();
-        
-        if( defImageDescriptor != null )
-        {
-            this.setDefaultPageImageDescriptor( defImageDescriptor );
-        }
-    }
-    
-    public void init( final IWorkbench workbench, 
-                      final IStructuredSelection selection )
-    {
-        
-    }
-    
-    public void addPages()
-    {
-        this.firstPage = new WizardNewProjectCreationPage( "first.page" ); //$NON-NLS-1$
-        this.firstPage.setTitle( this.template.getLabel() );
-        this.firstPage.setDescription( getPageDescription() );
-    
-        addPage( this.firstPage );
-        
-        super.addPages();
-    }
-    
-    public boolean canFinish()
-    {
-        return this.firstPage.isPageComplete() && super.canFinish();
-    }
-    
-    public IWizardPage[] getPages()
-    {
-        final IWizardPage[] base = super.getPages();
-        final IWizardPage[] pages = new IWizardPage[ base.length + 1 ];
-        
-        pages[ 0 ] = this.firstPage;
-        System.arraycopy( base, 0, pages, 1, base.length );
-        
-        return pages;
-    }
-    
-    @Override
-    public IWizardPage getNextPage( final IWizardPage page )
-    {
-        if( page == this.firstPage )
-        {
-            final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-            fpjwc.setProjectName( this.firstPage.getProjectName() );
-            fpjwc.setProjectLocation( this.firstPage.getLocationPath() );
-        }
-        
-        return super.getNextPage( page );
-    }
-
-    protected abstract IFacetedProjectTemplate getTemplate();
-    protected abstract String getPageDescription();
-    protected abstract ImageDescriptor getDefaultPageImageDescriptor();
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String newPrefix;
-        
-        static
-        {
-            initializeMessages( FacetedProjectWizard.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.properties
deleted file mode 100644
index 260c699..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/FacetedProjectWizard.properties
+++ /dev/null
@@ -1 +0,0 @@
-newPrefix = New\ 
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IDecorationsProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IDecorationsProvider.java
deleted file mode 100644
index ead9282..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IDecorationsProvider.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public interface IDecorationsProvider
-{
-    ImageDescriptor getIcon();
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java
deleted file mode 100644
index ec3f344..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IFacetWizardPage.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import org.eclipse.jface.wizard.IWizardPage;
-
-/**
- * This interface is implemented by the wizard pages associated with project
- * facet actions.
- * 
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public interface IFacetWizardPage
-
-    extends IWizardPage
-    
-{
-    /**
-     * The framework will call this method in order to provide the wizard
-     * context to the wizard page. The wizard context can be used to find out
-     * about other actions being configured by the wizard.
-     * 
-     * @param context the wizard context
-     */
-    
-    void setWizardContext( IWizardContext context );
-    
-    /**
-     * The framework will call this method in order to provide the action config
-     * object that the wizard page should save user selection into. The
-     * populated config object will then be passed to the action delegate.
-     * 
-     * @param config the action config object
-     */
-    
-    void setConfig( Object config );
-    
-    /**
-     * This method is called after the user has pressed the <code>Finish</code>
-     * button. It allows the wizard page to transfer user selection into the
-     * config object. Alternative, instead of using this method, the wizard
-     * page could update the model on the fly as the user is making changes.
-     */
-
-    void transferStateToConfig();
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java
deleted file mode 100644
index 5068177..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IRuntimeComponentLabelProvider.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public interface IRuntimeComponentLabelProvider
-{
-    String getLabel();
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java
deleted file mode 100644
index 025eb72..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/IWizardContext.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
-
-/**
- * The interface exposed to the facet action wizard pages that allows them
- * to gather information about the wizard state.
- * 
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public interface IWizardContext 
-{
-    /**
-     * Returns the name of the project that the wizard is operating on. If the
-     * wizard is in the project creation mode, the project will not yet exist
-     * in the workspace.
-     * 
-     * @return the name of the project that the wizard is operating on
-     */
-    
-    String getProjectName();
-    
-    /**
-     * Returns the set of facets currently selected in the wizard. If the wizard
-     * is in the add/remove facets mode (vs. project creation), this method will 
-     * return the set of facets currently installed in a project after being 
-     * modified by the current set of actions. 
-     * 
-     * @return the set of facets currently selected in the wizard (element type:
-     *   {@link IProjectFacetVersion})
-     */
-    
-    Set getSelectedProjectFacets();
-    
-    /**
-     * Determines whether the specified facet is currently selected in the
-     * wizard. See {@link #getSelectedProjectFacets()} for more information.
-     * 
-     * @param fv the project facet version object
-     * @return <code>true</code> if an only if the provided project facet is
-     *   currently selected in the wizard
-     */
-    
-    boolean isProjectFacetSelected( IProjectFacetVersion fv );
-    
-    /**
-     * Returns the set of actions currently specified by the user.
-     * 
-     * @return the set of actions currently specified by the user
-     */
-    
-    Set getActions();
-    
-    /**
-     * Finds the action of specified type that applies to the specified facet,
-     * if such action exists. If the wizard is in the add/remove facets mode
-     * (vs. project creation), you cannot depend on finding the install action
-     * for a required facet as that facet may have already been installed.
-     * 
-     * @param type the action type
-     * @param fv the project facet version object
-     * @return the action object or <code>null</code>
-     */
-    
-    Action getAction( Action.Type type,
-                      IProjectFacetVersion fv );
-    
-    /**
-     * Do not use! This method is internal and will be removed.
-     */
-    
-	Object getConfig(IProjectFacetVersion fv, Type type, String pjname) throws CoreException;
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.java
deleted file mode 100644
index 1f97143..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.java
+++ /dev/null
@@ -1,887 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFramework;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFrameworkException;
-import org.eclipse.wst.common.project.facet.core.IActionDefinition;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.util.IFilter;
-import org.eclipse.wst.common.project.facet.core.util.IFilter.IFilterEvent;
-import org.eclipse.wst.common.project.facet.core.util.IFilter.IFilterListener;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionPage;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class ModifyFacetedProjectWizard 
-
-    extends Wizard 
-    
-{
-    private IFacetedProjectWorkingCopy fpjwc;
-    private final WizardContext context = new WizardContext(); 
-    private boolean showFacetsSelectionPage;
-    private FacetsSelectionPage facetsSelectionPage;
-    private FacetPages[] facetPages = new FacetPages[ 0 ];
-    private Composite pageContainer;
-    private final List<IWizardPage> pagesToDispose = new ArrayList<IWizardPage>();
-    private final List<Runnable> delayedActions;
-    private final List<Runnable> onDisposeActions;
-    private final boolean disposeWorkingCopy;
-    
-    public ModifyFacetedProjectWizard()
-    {
-        this( (IFacetedProject) null );
-    }
-    
-    public ModifyFacetedProjectWizard( final IFacetedProject fproj )
-    {
-        this( fproj == null
-              ? FacetedProjectFramework.createNewProject() 
-              : fproj.createWorkingCopy(), true );
-    }
-
-    public ModifyFacetedProjectWizard( final IFacetedProjectWorkingCopy fpjwc )
-    {
-    	this( fpjwc, false );
-    }
-
-    private ModifyFacetedProjectWizard( final IFacetedProjectWorkingCopy fpjwc,
-    		                            final boolean disposeWorkingCopy )
-    {
-        try
-        {
-            this.fpjwc = fpjwc;
-            this.delayedActions = new ArrayList<Runnable>();
-            this.onDisposeActions = new ArrayList<Runnable>();
-            this.disposeWorkingCopy = disposeWorkingCopy;
-            this.facetsSelectionPage = null;
-            this.showFacetsSelectionPage = true;
-            
-            setNeedsProgressMonitor( true );
-            setForcePreviousAndNextButtons( true );
-            setWindowTitle( Resources.wizardTitle );
-        }
-        catch( RuntimeException e )
-        {
-            FacetUiPlugin.log( e );
-            throw e;
-        }
-    }
-    
-    public final IFacetedProjectWorkingCopy getFacetedProjectWorkingCopy()
-    {
-        return this.fpjwc;
-    }
-    
-    public void setFacetedProjectWorkingCopy( final IFacetedProjectWorkingCopy fpjwc )
-    {
-        this.fpjwc = fpjwc;
-    }
-    
-    public final IFacetedProject getFacetedProject()
-    {
-        IFacetedProject fproj = this.fpjwc.getFacetedProject();
-        
-        if( fproj == null )
-        {
-            final String projectName = this.fpjwc.getProjectName();
-            
-            if( projectName != null )
-            {
-                final IProject proj 
-                    = ResourcesPlugin.getWorkspace().getRoot().getProject( projectName );
-                
-                try
-                {
-                    fproj = ProjectFacetsManager.create( proj );
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e );
-                }
-            }
-        }
-        
-        return fproj;
-    }
-    
-    public void addPages()
-    {
-        final IFacetedProjectListener listener = new IFacetedProjectListener()
-        {
-            public void handleEvent( final IFacetedProjectEvent event ) 
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        handleSelectedFacetsChangedEvent();
-                    }
-                };
-                
-                Display.getDefault().asyncExec( runnable );
-            }
-        };
-
-    	this.fpjwc.addListener( listener, IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED );
-    	
-    	this.onDisposeActions.add
-    	(
-    		new Runnable()
-    		{
-    			public void run()
-    			{
-    				ModifyFacetedProjectWizard.this.fpjwc.removeListener( listener );
-    			}
-    		}
-        );
-        
-        if( getShowFacetsSelectionPage() )
-        {
-            this.facetsSelectionPage = new FacetsSelectionPage( getBaseFacets(), this.fpjwc );
-            addPage( this.facetsSelectionPage );
-        }
-    }
-    
-    public int getPageCount()
-    {
-        return getPages().length;
-    }
-
-    public IWizardPage[] getPages()
-    {
-        final List<IWizardPage> list = new ArrayList<IWizardPage>();
-        
-        if( this.facetsSelectionPage != null )
-        {
-            list.add( this.facetsSelectionPage );
-        }
-        
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            list.addAll( this.facetPages[ i ].pages );
-        }
-        
-        return list.toArray( new IWizardPage[ list.size() ] );
-    }
-    
-    public IWizardPage getPage( final String pageName )
-    {
-        final IWizardPage[] pages = getPages();
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            final IWizardPage page = pages[ i ];
-            
-            if( page.getName().equals( pageName ) )
-            {
-                return page;
-            }
-        }
-        
-        return null;
-    }
-    
-    public IWizardPage getStartingPage()
-    {
-        return getPages()[ 0 ];
-    }
-    
-    public IWizardPage getNextPage( final IWizardPage page )
-    {
-        final IWizardPage[] pages = getPages();
-        
-        int pos = -1;
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            if( pages[ i ] == page )
-            {
-                pos = i;
-            }
-        }
-        
-        if( pos == pages.length - 1 )
-        {
-            return null;
-        }
-        else
-        {
-            return pages[ pos + 1 ];
-        }
-    }
-
-    public IWizardPage getPreviousPage( final IWizardPage page )
-    {
-        final IWizardPage[] pages = getPages();
-        
-        int pos = -1;
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            if( pages[ i ] == page )
-            {
-                pos = i;
-            }
-        }
-        
-        if( pos == 0 )
-        {
-            return null;
-        }
-        else
-        {
-            return pages[ pos - 1 ];
-        }
-    }
-    
-    public boolean canFinish()
-    {
-        if( this.facetsSelectionPage != null && ! this.facetsSelectionPage.isPageComplete() )
-        {
-            return false;
-        }
-        
-        final IWizardPage[] pages = getPages();
-        
-        for( int i = 0; i < pages.length; i++ )
-        {
-            if( ! pages[ i ].isPageComplete() )
-            {
-                return false;
-            }
-        }
-        
-        return true;
-    }
-    
-    public void createPageControls( final Composite container )
-    {
-        super.createPageControls( container );
-        this.pageContainer = container;
-        handleSelectedFacetsChangedEvent();
-        executeDelayedActions();
-    }
-    
-    public boolean performFinish() 
-    {
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            for( IFacetWizardPage fp : this.facetPages[ i ].pages )
-            {
-                fp.transferStateToConfig();
-            }
-        }
-        
-        final IWorkspaceRunnable wr = new IWorkspaceRunnable()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws CoreException
-                
-            {
-                performFinish( monitor );
-            }
-        };
-        
-        final IRunnableWithProgress op = new IRunnableWithProgress()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws InvocationTargetException, InterruptedException
-                
-            {
-                try
-                {
-                    final IWorkspace ws = ResourcesPlugin.getWorkspace();
-                    ws.run( wr, ws.getRoot(), IWorkspace.AVOID_UPDATE, monitor );
-                }
-                catch( CoreException e )
-                {
-                    throw new InvocationTargetException( e );
-                }
-            }
-        };
-
-        try 
-        {
-            getContainer().run( true, false, op );
-        }
-        catch( InterruptedException e ) 
-        {
-            return false;
-        } 
-        catch( InvocationTargetException e ) 
-        {
-            final Throwable te = e.getTargetException();
-            
-            if( te instanceof CoreException )
-            {
-                IStatus st = ( (CoreException) te ).getStatus();
-                final String msg = st.getMessage();
-
-                if( ! ( te instanceof FacetedProjectFrameworkException ) ||
-                    ! ( (FacetedProjectFrameworkException) te ).isExpected() )
-                {
-                    FacetUiPlugin.log( st );
-                }
-                
-                final Throwable cause = st.getException();
-                
-                if( cause instanceof CoreException )
-                {
-                    st = ( (CoreException) cause ).getStatus();
-                }
-
-                ErrorDialog.openError( getShell(), Resources.errDlgTitle, msg, st );
-            }
-            else
-            {
-                throw new RuntimeException( e.getTargetException() );
-            }
-        }
-        
-        return true;
-    }
-
-    protected void performFinish( final IProgressMonitor monitor )
-    
-        throws CoreException
-        
-    {
-        this.fpjwc.commitChanges( monitor );
-    }
-    
-    public void syncWithPresetsModel( final Combo combo )
-    {
-        syncWithPresetsModel( this.fpjwc, combo );
-    }
-	
-    public static void syncWithPresetsModel( final IFacetedProjectWorkingCopy fpjwc,
-                                             final Combo combo )
-    {
-        syncWithPresetsModel( fpjwc, combo, null );
-    }
-    
-	public static void syncWithPresetsModel( final IFacetedProjectWorkingCopy fpjwc,
-	                                         final Combo combo,
-                                             final IFilter<IPreset> filter )
-	{
-        final List<IPreset> sortedPresets = new ArrayList<IPreset>();
-        
-        // Contents : model -> view
-
-        final IFacetedProjectListener availablePresetsChangedListener = new IFacetedProjectListener()
-        {
-            public void handleEvent( final IFacetedProjectEvent event )
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        if( combo.isDisposed() )
-                        {
-                            return;
-                        }
-                        
-                        synchronized( sortedPresets )
-                        {
-                            sortedPresets.clear();
-                            
-                            if( filter != null )
-                            {
-                                for( IPreset preset : fpjwc.getAvailablePresets() )
-                                {
-                                    if( filter.check( preset ) )
-                                    {
-                                        sortedPresets.add( preset );
-                                    }
-                                }
-                            }
-                            else
-                            {
-                                sortedPresets.addAll( fpjwc.getAvailablePresets() );
-                            }
-                            
-                            Collections.sort
-                            (
-                                sortedPresets,
-                                new Comparator<IPreset>()
-                                {
-                                    public int compare( final IPreset p1, 
-                                                        final IPreset p2 ) 
-                                    {
-                                        if( p1 == p2 )
-                                        {
-                                            return 0;
-                                        }
-                                        else
-                                        {
-                                            return p1.getLabel().compareTo( p2.getLabel() );
-                                        }
-                                    }
-                                }
-                            );
-                            
-                            final IPreset selectedPreset = fpjwc.getSelectedPreset();
-                            
-                            combo.removeAll();
-                            combo.add( Resources.customPreset );
-                            
-                            if( selectedPreset == null )
-                            {
-                                combo.select( 0 );
-                            }
-                            
-                            for( IPreset preset : sortedPresets )
-                            {
-                                combo.add( preset.getLabel() );
-                                
-                                if( selectedPreset != null && 
-                                    preset.getId().equals( selectedPreset.getId() ) )
-                                {
-                                    combo.select( combo.getItemCount() - 1 );
-                                }
-                            }
-                        }
-                    }
-                };
-                
-                Display.getDefault().asyncExec( runnable );
-            }
-        };
-        
-        fpjwc.addListener( availablePresetsChangedListener, 
-                           IFacetedProjectEvent.Type.AVAILABLE_PRESETS_CHANGED );
-        
-        if( filter != null )
-        {
-            filter.addListener
-            (
-                new IFilterListener<IPreset>()
-                {
-                    public void handleEvent( final IFilterEvent<IPreset> event )
-                    {
-                        availablePresetsChangedListener.handleEvent( null );
-                    }
-                },
-                IFilterEvent.Type.FILTER_CHANGED 
-            );
-        }
-        
-        final IFacetedProjectListener selectedPresetChangedListener = new IFacetedProjectListener()
-        {
-            public void handleEvent( final IFacetedProjectEvent event )
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        synchronized( sortedPresets )
-                        {
-                            final IPreset preset = fpjwc.getSelectedPreset();
-                            final int index;
-                            
-                            if( preset == null )
-                            {
-                                index = -1;
-                            }
-                            else
-                            {
-                                index = sortedPresets.indexOf( preset );
-                            }
-                            
-                            combo.select( index + 1 );
-                        }
-                    }
-                };
-                
-                Display.getDefault().asyncExec( runnable );
-            }
-        };
-        
-        fpjwc.addListener( selectedPresetChangedListener,
-                           IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED );
-        
-        // Selection : view -> model
-        
-        combo.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    synchronized( sortedPresets )
-                    {
-                        final int selection = combo.getSelectionIndex();
-                        final String presetId;
-                        
-                        if( selection == 0 )
-                        {
-                            presetId = null;
-                        }
-                        else
-                        {
-                            presetId = sortedPresets.get( selection - 1 ).getId();
-                        }
-                        
-                        fpjwc.setSelectedPreset( presetId );
-                    }
-                }
-            }
-        );
-        
-        // Trigger initial UI population.
-        
-        availablePresetsChangedListener.handleEvent( null );
-        
-        // Make sure to remove working copy listeners when the widget is disposed.
-        
-        combo.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent event )
-                {
-                    fpjwc.removeListener( availablePresetsChangedListener );
-                    fpjwc.removeListener( selectedPresetChangedListener );
-                }
-            }
-        );
-    }
-    
-    public void setCategoryExpandedState( final ICategory category,
-                                          final boolean expanded )
-    {
-        if( this.facetsSelectionPage != null && this.facetsSelectionPage.panel != null )
-        {
-            this.facetsSelectionPage.panel.setCategoryExpandedState( category, true );
-        }
-        else
-        {
-            final Runnable action = new Runnable()
-            {
-                public void run()
-                {
-                    setCategoryExpandedState( category, expanded );
-                }
-            };
-            
-            this.delayedActions.add( action );
-        }
-    }
-    
-    public boolean getShowFacetsSelectionPage()
-    {
-        return this.showFacetsSelectionPage;
-    }
-    
-    public void setShowFacetsSelectionPage( final boolean showFacetsSelectionPage )
-    {
-        this.showFacetsSelectionPage = showFacetsSelectionPage;
-    }
-    
-    public void dispose()
-    {
-        super.dispose();
-        
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            this.pagesToDispose.addAll( this.facetPages[ i ].pages );
-        }
-        
-        for( IWizardPage page : this.pagesToDispose )
-        {
-            page.dispose();
-        }
-        
-        for( Runnable onDisposeAction : this.onDisposeActions )
-        {
-        	try
-        	{
-        		onDisposeAction.run();
-        	}
-        	catch( Exception e )
-        	{
-        		FacetUiPlugin.log( e );
-        	}
-        }
-        
-        if( this.disposeWorkingCopy )
-        {
-        	this.fpjwc.dispose();
-        }
-    }
-    
-    private static final class FacetPages
-    {
-        public Action action;
-        public List<IFacetWizardPage> pages;
-    }
-    
-    private void handleSelectedFacetsChangedEvent()
-    {
-        // Don't do anything until there are no more validation errors.
-        
-        if( this.fpjwc.validate().getSeverity() == IStatus.ERROR)
-        {
-            return;
-        }
-        
-        // Get the set of actions and sort them.
-        
-        final Set<IProjectFacetVersion> base = getBaseFacets();
-        final Set<Action> actions = getFacetedProjectWorkingCopy().getProjectFacetActions();
-        final List<Action> sortedActions = new ArrayList<Action>( actions );
-        ProjectFacetsManager.sort( base, sortedActions );
-        
-        // Recalculate the sequence of wizard pages.
-        
-        final List<FacetPages> newFacetPages = new ArrayList<FacetPages>();
-        final boolean[] markers = new boolean[ this.facetPages.length ];
-        boolean changed = false;
-        
-        for( Action action : sortedActions )
-        {
-            final IProjectFacetVersion fv = action.getProjectFacetVersion();
-            FacetPages fp = findFacetPages( action, markers );
-            
-            if( fp == null )
-            {
-                final IActionDefinition actiondef;
-                
-                try
-                {
-                    actiondef = fv.getActionDefinition( base, action.getType() );
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e );
-                    continue;
-                }
-                
-                final List<IFacetWizardPage> pages
-                    = ProjectFacetsUiManager.getWizardPages( actiondef.getId() );
-                
-                if( ! pages.isEmpty() )
-                {
-                    fp = new FacetPages();
-                    fp.action = action;
-                    fp.pages = pages;
-                    
-                    for( IFacetWizardPage page : fp.pages )
-                    {
-                        page.setWizard( this );
-                        page.setWizardContext( this.context );
-                        page.setConfig( action.getConfig() );
-                        
-                        if( page.getControl() == null ) 
-                        {
-                            page.createControl( this.pageContainer );
-                            page.getControl().setVisible( false );
-                        }
-                    }
-                    
-                    changed = true;
-                }
-            }
-            
-            if( fp != null )
-            {
-                newFacetPages.add( fp );
-            }
-        }
-        
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            if( ! markers[ i ] )
-            {
-                for( IFacetWizardPage page : this.facetPages[ i ].pages )
-                {
-                    page.setWizard( null );
-                    this.pagesToDispose.add( page );
-                }
-                
-                changed = true;
-            }
-        }
-        
-        if( changed )
-        {
-            this.facetPages = new FacetPages[ newFacetPages.size() ];
-            newFacetPages.toArray( this.facetPages );
-            
-            this.pageContainer.layout( true, true );
-            
-            final IWizardContainer wizardContainer = getContainer();
-            
-            if( wizardContainer.getCurrentPage() != null )
-            {
-                wizardContainer.updateButtons();
-            }
-        }
-    }
-    
-    private FacetPages findFacetPages( final Action action,
-                                       final boolean[] markers )
-    {
-        for( int i = 0; i < this.facetPages.length; i++ )
-        {
-            final FacetPages fp = this.facetPages[ i ];
-            
-            if( fp.action == action )
-            {
-                markers[ i ] = true;
-                return fp;
-            }
-        }
-        
-        return null;
-    }
-    
-    private Set<IProjectFacetVersion> getBaseFacets()
-    {
-        final IFacetedProject fproj = this.fpjwc.getFacetedProject();
-        
-        if( fproj == null )
-        {
-            return Collections.emptySet();
-        }
-        else
-        {
-            return fproj.getProjectFacets();
-        }
-    }
-    
-    private void executeDelayedActions()
-    {
-        for( Runnable r : this.delayedActions )
-        {
-            try
-            {
-                r.run();
-            }
-            catch( Exception e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-    }
-
-    /**
-     * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
-     */
-
-    private final class WizardContext
-
-        implements IWizardContext
-        
-    {
-        public String getProjectName()
-        {
-            return getFacetedProjectWorkingCopy().getProjectName();
-        }
-
-        public Set<IProjectFacetVersion> getSelectedProjectFacets()
-        {
-            return getFacetedProjectWorkingCopy().getProjectFacets();
-        }
-
-        public boolean isProjectFacetSelected( final IProjectFacetVersion fv )
-        {
-            return getSelectedProjectFacets().contains( fv );
-        }
-
-        public Set<Action> getActions()
-        {
-            return getFacetedProjectWorkingCopy().getProjectFacetActions();
-        }
-
-        public Action getAction( final Action.Type type,
-                                 final IProjectFacetVersion f )
-        {
-            for( Action action : getActions() )
-            {
-                if( action.getType() == type && action.getProjectFacetVersion() == f )
-                {
-                    return action;
-                }
-            }
-            
-            return null;
-        }
-        
-        public Object getConfig( final IProjectFacetVersion fv, 
-                                 final Action.Type type, 
-                                 final String pjname )
-        {
-            final Action action = getAction( type, fv );
-            return action != null ? action.getConfig() : null;
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String wizardTitle;
-        public static String errDlgTitle;
-        public static String customPreset;
-        
-        static
-        {
-            initializeMessages( ModifyFacetedProjectWizard.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.properties
deleted file mode 100644
index 9de1171..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ModifyFacetedProjectWizard.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-wizardTitle = Modify Faceted Project
-errDlgTitle = Error
-customPreset = <custom>
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.java
deleted file mode 100644
index 696eb0f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.util.IFilter;
-import org.eclipse.wst.common.project.facet.ui.internal.FacetsSelectionDialog;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class PresetSelectionPanel
-
-    extends Composite
-    
-{
-    private final Group group;
-    private final Combo presetsCombo;
-    private final Button modifyButton;
-    private final Text descTextField;
-    private final IFacetedProjectWorkingCopy fpjwc;
-    
-    public PresetSelectionPanel( final Composite parent,
-                                 final IFacetedProjectWorkingCopy fpjwc )
-    {
-        this( parent, fpjwc, null );
-    }
-
-    public PresetSelectionPanel( final Composite parent,
-                                 final IFacetedProjectWorkingCopy fpjwc,
-                                 final IFilter<IPreset> filter )
-    {
-        super( parent, SWT.NONE );
-        
-        Dialog.applyDialogFont( parent );
-        
-        this.fpjwc = fpjwc;
-        
-        GridLayout layout = new GridLayout( 1, false );
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        
-        setLayout( layout );
-        
-        this.group = new Group( this, SWT.NONE );
-        this.group.setLayout( new GridLayout( 2, false ) );
-        this.group.setLayoutData( gdhfill() );
-        this.group.setText( Resources.groupTitle );
-        
-        this.presetsCombo = new Combo( this.group, SWT.BORDER | SWT.READ_ONLY );
-        this.presetsCombo.setLayoutData( gdhfill() );
-        
-        this.modifyButton = new Button( this.group, SWT.PUSH );
-        this.modifyButton.setText( Resources.modifyButtonLabel );
-        GridDataFactory.defaultsFor( this.modifyButton ).applyTo( this.modifyButton );
-        
-        this.modifyButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                @Override
-                public void widgetSelected( final SelectionEvent event )
-                {
-                    handleModifyButtonPressed();
-                }
-            }
-        );
-        
-        this.descTextField = new Text( this.group, SWT.READ_ONLY | SWT.WRAP );
-   
-        final GridData gd = gdhspan( gdhfill(), 2 );
-        gd.widthHint = 400;
-        gd.minimumHeight = 30;
-        
-        this.descTextField.setLayoutData( gd );
-        
-        this.fpjwc.addListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    final Runnable runnable = new Runnable()
-                    {
-                        public void run()
-                        {
-                            refreshDescription();
-                        }
-                    };
-                    
-                    Display.getDefault().asyncExec( runnable );
-                }
-            },
-            IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED
-        );
-        
-        ModifyFacetedProjectWizard.syncWithPresetsModel( this.fpjwc, this.presetsCombo, filter );
-    }
-    
-    private void refreshDescription()
-    {
-        final IPreset preset = this.fpjwc.getSelectedPreset();
-        
-        final String desc;
-        
-        if( preset == null )
-        {
-            desc = Resources.hint;
-        }
-        else
-        {
-            desc = preset.getDescription();
-        }
-        
-        this.descTextField.setText( desc );
-        
-        final int currentHeight = this.descTextField.getSize().y;;
-        ( (GridData) this.descTextField.getLayoutData() ).minimumHeight = currentHeight;
-
-        final Shell shell = getShell();
-        shell.layout( true, true );
-        final Point currentSize = shell.getSize();
-        final Point preferredSize = shell.computeSize( currentSize.x - 30, SWT.DEFAULT );
-        
-        if( preferredSize.y > currentSize.y )
-        {
-            shell.setSize( currentSize.x, preferredSize.y );
-        }
-    }
-    
-    private void handleModifyButtonPressed()
-    {
-        FacetsSelectionDialog.openDialog( getShell(), this.fpjwc );
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String groupTitle;
-        public static String hint;
-        public static String modifyButtonLabel;
-        
-        static
-        {
-            initializeMessages( PresetSelectionPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.properties
deleted file mode 100644
index 62ca385..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/PresetSelectionPanel.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-groupTitle = &Configuration
-hint = Hint: Get started quickly by selecting one of the pre-defined project configurations.
-modifyButtonLabel = Mod&ify...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java
deleted file mode 100644
index dce54aa..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/ProjectFacetsUiManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui;
-
-import java.util.List;
-
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.ui.internal.ProjectFacetsUiManagerImpl;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ProjectFacetsUiManager 
-{
-    private ProjectFacetsUiManager() {}
-    
-    public static List<IFacetWizardPage> getWizardPages( final String actionId )
-    {
-        return ProjectFacetsUiManagerImpl.getWizardPages( actionId );
-    }
-
-    /**
-     * @return (element type: {@link IFacetWizardPage})
-     * @deprecated
-     */
-    
-    public static List getWizardPages( final Action.Type actionType,
-                                       final IProjectFacetVersion f )
-    {
-        return ProjectFacetsUiManagerImpl.getWizardPages( actionType, f );
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/CategoryDetailsPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/CategoryDetailsPanel.java
deleted file mode 100644
index 25e7d6e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/CategoryDetailsPanel.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.ui.internal.util.ImageWithTextComposite;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class CategoryDetailsPanel
-
-    extends Composite
-
-{
-    public CategoryDetailsPanel( final Composite parent,
-                                 final FacetsSelectionPanel facetsSelectionPanel,
-                                 final ICategory category )
-    {
-        super( parent, SWT.NONE );
-        
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-
-        final ImageWithTextComposite header = new ImageWithTextComposite( this );
-        header.setLayoutData( gdhfill() );
-        header.setImage( facetsSelectionPanel.getImage( category ) );
-        header.setFont( getFontRegistry().get( DetailsPanel.HEADER_FONT ) );
-        header.setText( category.toString() );
-        
-        final Label separator = new Label( this, SWT.SEPARATOR | SWT.HORIZONTAL );
-        separator.setLayoutData( gdhfill() );
-
-        final Text descTextField = new Text( this, SWT.WRAP | SWT.READ_ONLY );
-        descTextField.setLayoutData( gdhfill() );
-        descTextField.setText( category.getDescription() );
-        //descTextField.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.java
deleted file mode 100644
index 865924d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvindent;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import java.util.SortedSet;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ChangeFacetVersionDialog
-
-    extends Dialog
-    
-{
-	private final IProjectFacet facet;
-	private final IProjectFacetVersion oldVersion;
-	private IProjectFacetVersion newVersion;
-	private final SortedSet<IProjectFacetVersion> availableVersions;
-	private Combo versionCombo;
-    
-    private ChangeFacetVersionDialog( final Shell shell,
-                                      final IProjectFacet facet,
-                                      final IProjectFacetVersion currentVersion,
-                                      final SortedSet<IProjectFacetVersion> availableVersions )
-    {
-        super( shell );
-        
-        this.facet = facet;
-        this.oldVersion = currentVersion;
-        this.newVersion = currentVersion;
-        this.availableVersions = availableVersions;
-    }
-    
-    public static IProjectFacetVersion showDialog( final Shell shell,
-    		                                       final IProjectFacet facet,
-    		                                       final IProjectFacetVersion currentVersion,
-    		                                       final SortedSet<IProjectFacetVersion> availableVersions )
-    {
-        final ChangeFacetVersionDialog dialog 
-        	= new ChangeFacetVersionDialog( shell, facet, currentVersion, availableVersions );
-        
-        IProjectFacetVersion selectedVersion = null;
-
-        if( dialog.open() == IDialogConstants.OK_ID )
-        {
-        	selectedVersion = dialog.newVersion;
-        }
-        
-        return selectedVersion;
-    }
-
-    protected void configureShell( final Shell shell )
-    {
-        super.configureShell( shell );
-        shell.setText( Resources.dialogTitle );
-    }
-
-    protected Control createDialogArea( final Composite parent ) 
-    {
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( glmargins( gl( 2 ), 5, 5, 5, 10 ) );
-        composite.setLayoutData( gdwhint( gdfill(), 300 ) );
-        
-        final Label promptLabel = new Label( composite, SWT.WRAP );
-        promptLabel.setLayoutData( gdhspan( gdhfill(), 2 ) );
-        promptLabel.setText( Resources.bind( Resources.dialogPrompt, this.facet.getLabel() ) );
-        
-        final Label versionFieldLabel = new Label( composite, SWT.NONE );
-        versionFieldLabel.setLayoutData( gdvindent( gd(), 8 ) );
-        versionFieldLabel.setText( Resources.versionFieldLabel );
-
-        this.versionCombo = new Combo( composite, SWT.DROP_DOWN | SWT.READ_ONLY );
-        this.versionCombo.setLayoutData( gdvindent( gd(), 8 ) );
-        
-        for( IProjectFacetVersion fv : this.availableVersions )
-        {
-        	this.versionCombo.add( fv.getVersionString() );
-        	
-        	if( fv == this.oldVersion )
-        	{
-        		this.versionCombo.select( this.versionCombo.getItemCount() - 1 );
-        	}
-        }
-        
-        this.versionCombo.addSelectionListener
-        (
-        	new SelectionAdapter()
-        	{
-        		public void widgetSelected( final SelectionEvent event ) 
-        		{
-        			handleVersionSelected();
-        		}
-        	}
-        );
-        
-        return composite;
-    }
-    
-    private void handleVersionSelected()
-    {
-    	final int index = this.versionCombo.getSelectionIndex();
-    	
-    	int i = 0;
-    	
-    	for( IProjectFacetVersion fv : this.availableVersions )
-    	{
-    		if( i == index )
-    		{
-    			this.newVersion = fv;
-    		}
-    		
-    		i++;
-    	}
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String dialogTitle;
-        public static String dialogPrompt;
-        public static String versionFieldLabel;
-        
-        static
-        {
-            initializeMessages( ChangeFacetVersionDialog.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.properties
deleted file mode 100644
index 2f0c01a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ChangeFacetVersionDialog.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-dialogTitle = Change Version
-dialogPrompt = Select new version for the {0} facet.
-versionFieldLabel = &Version:
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConstraintDisplayDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConstraintDisplayDialog.properties
deleted file mode 100644
index 2b5148a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConstraintDisplayDialog.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-pressEscToClose = Press 'Esc' to close.
-andOperator = AND
-orOperator = OR
-requiresFacetOperator = \ requires facet\ 
-requiresGroupMemberOperator = \ requires group member\ 
-conflictsWithGroupOperator = \ conflicts with group\ 
-conflictsWithFacetOperator = \ conflicts with facet\ 
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormCommandHandler.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormCommandHandler.java
deleted file mode 100644
index c103478..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormCommandHandler.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ConvertProjectToFacetedFormCommandHandler
-
-    extends AbstractHandler
-    
-{
-    public Object execute( final ExecutionEvent event )
-    
-        throws ExecutionException
-        
-    {
-        IProject project = null;
-        final ISelection currentSelection = HandlerUtil.getCurrentSelection( event );
-        
-        if( currentSelection instanceof IStructuredSelection ) 
-        {
-            final Object element = ( (IStructuredSelection) currentSelection).getFirstElement();
-            project = (IProject) Platform.getAdapterManager().getAdapter( element, IProject.class );
-        } 
-
-        if( project == null )
-        {
-            return null;
-        }
-        
-        final IWorkbenchWindow activeWorkbenchWindow = HandlerUtil.getActiveWorkbenchWindow( event );
-        
-        if( activeWorkbenchWindow != null )
-        {
-            final Shell shell = activeWorkbenchWindow.getShell();
-            
-            ConvertProjectToFacetedFormRunnable.runInProgressDialog( shell, project );
-            
-            final PreferenceDialog dialog 
-                = PreferencesUtil.createPropertyDialogOn( shell, project, FacetsPropertyPage.ID, 
-                                                          null, null, PreferencesUtil.OPTION_NONE );
-            
-            if( dialog != null ) 
-            {
-                dialog.open();
-            }
-        }
-        
-        return null;
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormRunnable.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormRunnable.java
deleted file mode 100644
index 9d833f8..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormRunnable.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ConvertProjectToFacetedFormRunnable
-
-    implements IRunnableWithProgress
-    
-{
-    private final IProject project;
-    
-    public static void runInProgressDialog( final Shell shell,
-                                            final IProject project )
-    {
-        final ConvertProjectToFacetedFormRunnable runnable = new ConvertProjectToFacetedFormRunnable( project );
-        
-        try
-        {
-            new ProgressMonitorDialog( shell ).run( true, true, runnable );
-        }
-        catch( InvocationTargetException e )
-        {
-            FacetUiPlugin.log( e );
-        }
-        catch( InterruptedException e ) {}
-    }
-    
-    public ConvertProjectToFacetedFormRunnable( final IProject project )
-    {
-        this.project = project;
-    }
-    
-    public void run( final IProgressMonitor monitor )
-    
-        throws InvocationTargetException, InterruptedException
-        
-    {
-        monitor.beginTask( Resources.taskConvertingProject, 1000 );
-        
-        try
-        {
-            final IProgressMonitor createProgressMonitor = new SubProgressMonitor( monitor, 100 );
-            final IFacetedProject fpj = ProjectFacetsManager.create( this.project, true, createProgressMonitor );
-            
-            if( monitor.isCanceled() )
-            {
-                throw new InterruptedException();
-            }
-            
-            monitor.setTaskName( Resources.taskDetectingTechnologies );
-            
-            final IProgressMonitor detectProgressMonitor = new SubProgressMonitor( monitor, 800 );
-            final IFacetedProjectWorkingCopy fpjwc = fpj.createWorkingCopy();
-            fpjwc.detect( detectProgressMonitor );
-            
-            monitor.setTaskName( Resources.taskInstallingFacets );
-            
-            final IProgressMonitor commitChangesProgressMonitor = new SubProgressMonitor( monitor, 100 );
-            fpjwc.commitChanges( commitChangesProgressMonitor );
-        }
-        catch( CoreException e )
-        {
-            throw new InvocationTargetException( e );
-        }
-        finally
-        {
-            monitor.done();
-        }
-    }
-    
-    private static final class Resources 
-    
-        extends NLS
-        
-    {
-        public static String taskConvertingProject;
-        public static String taskDetectingTechnologies;
-        public static String taskInstallingFacets;
-        
-        static
-        {
-            initializeMessages( ConvertProjectToFacetedFormRunnable.class.getName(), Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormRunnable.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormRunnable.properties
deleted file mode 100644
index 8f7fb47..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ConvertProjectToFacetedFormRunnable.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-taskConvertingProject = Converting project to faceted form...
-taskDetectingTechnologies = Detecting existing technologies...
-taskInstallingFacets = Installing project facets...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DecorationsProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DecorationsProvider.java
deleted file mode 100644
index 5fb1818..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DecorationsProvider.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.project.facet.ui.IDecorationsProvider;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class DecorationsProvider
-
-    implements IDecorationsProvider
-    
-{
-    private final Object adaptable;
-    
-    public DecorationsProvider( final Object adaptable )
-    {
-        this.adaptable = adaptable;
-    }
-    
-    public ImageDescriptor getIcon()
-    {
-        return ProjectFacetsUiManagerImpl.getIcon( this.adaptable ); 
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES = { IDecorationsProvider.class };
-        
-        public Object getAdapter( final Object adaptable, 
-                                  final Class adapterType )
-        {
-            if( adapterType == IDecorationsProvider.class )
-            {
-                return new DecorationsProvider( adaptable );
-            }
-            else
-            {
-                return null;
-            }
-        }
-    
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.java
deleted file mode 100644
index 0de80ee..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.jface.resource.JFaceResources.getDefaultFont;
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class DetailsPanel
-
-    extends Composite
-
-{
-    public static final String HEADER_FONT 
-        = DetailsPanel.class.getName() + ".HEADER_FONT"; //$NON-NLS-1$
-    
-    static
-    {
-        final String defaultFontName = getDefaultFont().getFontData()[ 0 ].getName();
-        final FontData[] fontData = getFontRegistry().getBold( defaultFontName ).getFontData();
-        
-        getFontRegistry().put( HEADER_FONT, fontData );
-    }
-
-    private final FacetsSelectionPanel facetsSelectionPanel;
-    private Composite content = null;
-    
-    public DetailsPanel( final Composite parent,
-                         final FacetsSelectionPanel facetsSelectionPanel )
-    {
-        super( parent, SWT.NONE );
-        
-        setLayout( glmargins( gl( 1 ), 5, 8 ) );
-        
-        this.facetsSelectionPanel = facetsSelectionPanel;
-        
-        this.facetsSelectionPanel.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent event )
-                {
-                    refresh();
-                }
-            }
-        );
-        
-        this.facetsSelectionPanel.getFacetedProjectWorkingCopy().addListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event ) 
-                {
-                    refresh();
-                }
-            }, 
-            IFacetedProjectEvent.Type.FIXED_FACETS_CHANGED
-        );
-        
-        refresh();
-    }
-    
-    private void refresh()
-    {
-        if( this.content != null )
-        {
-            this.content.dispose();
-        }
-        
-        final IStructuredSelection sel = (IStructuredSelection) this.facetsSelectionPanel.getSelection();
-        
-        if( sel == null || sel.isEmpty() )
-        {
-            this.content = new Composite( this, SWT.NONE );
-            this.content.setLayout( glmargins( gl( 1 ), 0, 0 ) );
-            
-            final Text noSelectionTextField = new Text( this.content, SWT.WRAP | SWT.READ_ONLY );
-            noSelectionTextField.setLayoutData( gdhfill() );
-            noSelectionTextField.setText( Resources.noSelectionLabel );
-        }
-        else
-        {
-            final Object selection = sel.getFirstElement();
-
-            if( selection instanceof IProjectFacetVersion )
-            {
-                final IProjectFacetVersion fv = (IProjectFacetVersion) selection;
-                this.content = new FacetDetailsPanel( this, this.facetsSelectionPanel, fv );
-            }
-            else if( selection instanceof ICategory )
-            {
-                final ICategory cat = (ICategory) selection;
-                this.content = new CategoryDetailsPanel( this, this.facetsSelectionPanel, cat );
-            }
-        }
-
-        this.content.setLayoutData( gdfill() );
-        
-        layout();
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String noSelectionLabel;
-        
-        static
-        {
-            initializeMessages( DetailsPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.properties
deleted file mode 100644
index 432709a..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/DetailsPanel.properties
+++ /dev/null
@@ -1 +0,0 @@
-noSelectionLabel = Select a project facet on the left to view information about it.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.java
deleted file mode 100644
index 36ffd1d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhindent;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvindent;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glspacing;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.IConstraint;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IVersionExpr;
-import org.eclipse.wst.common.project.facet.core.internal.Constraint;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacet;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetRef;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.ConstraintOperator;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.ConstraintUtil;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.GroupingConstraintOperator;
-import org.eclipse.wst.common.project.facet.ui.internal.constraints.MultiFacetConstraintOperator;
-import org.eclipse.wst.common.project.facet.ui.internal.util.ImageWithTextComposite;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetDetailsPanel
-
-    extends Composite
-
-{
-    private static final Comparator<ProjectFacetRef> FACET_REF_COMPARATOR 
-        = new Comparator<ProjectFacetRef>()
-    {
-        public int compare( final ProjectFacetRef x,
-                            final ProjectFacetRef y )
-        {
-            final String xLabel = x.getProjectFacet().getLabel();
-            final String yLabel = y.getProjectFacet().getLabel();
-            
-            return xLabel.compareTo( yLabel );
-        }
-    };
-
-    private final FacetsSelectionPanel facetsSelectionPanel;
-    
-    public FacetDetailsPanel( final Composite parent,
-                              final FacetsSelectionPanel facetsSelectionPanel,
-                              final IProjectFacetVersion facet )
-    {
-        super( parent, SWT.NONE );
-        
-        this.facetsSelectionPanel = facetsSelectionPanel;
-        
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-        
-        final IFacetedProjectWorkingCopy fpjwc 
-            = facetsSelectionPanel.getFacetedProjectWorkingCopy();
-        
-        final ImageWithTextComposite header = new ImageWithTextComposite( this );
-        header.setLayoutData( gdhfill() );
-        header.setImage( facetsSelectionPanel.getImage( facet.getProjectFacet(), false ) );
-        header.setFont( getFontRegistry().get( DetailsPanel.HEADER_FONT ) );
-        header.setText( facet.toString() );
-        
-        final Label separator = new Label( this, SWT.SEPARATOR | SWT.HORIZONTAL );
-        separator.setLayoutData( gdhfill() );
-        
-        final ScrolledComposite details = new ScrolledComposite( this, SWT.V_SCROLL | SWT.H_SCROLL );
-        details.setLayoutData( gdfill() );
-        details.setMinWidth( 300 );
-        details.setExpandHorizontal( true );
-        details.setExpandVertical( true );
-        
-        final Composite nestedDetailsComposite = new Composite( details, SWT.NONE );
-        nestedDetailsComposite.setLayout( glmargins( gl( 1 ), 0, 10, 0, 0 ) );
-        details.setContent( nestedDetailsComposite );
-
-        final Text descTextField = new Text( nestedDetailsComposite, SWT.WRAP | SWT.READ_ONLY );
-        descTextField.setLayoutData( gdhfill() );
-        descTextField.setText( facet.getProjectFacet().getDescription() );
-        //descTextField.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-        
-        final IConstraint prunedConstraint 
-            = Constraint.pruneConstraint( facet, fpjwc.getFixedProjectFacets() );
-        
-        if( prunedConstraint != null )
-        {
-            final ConstraintOperator normalizedConstraint
-                = ConstraintUtil.normalize( ConstraintUtil.convert( prunedConstraint ) );
-            
-            final List<ConstraintOperator> topLevelOperators;
-            
-            if( normalizedConstraint.getType() == ConstraintOperator.Type.AND )
-            {
-                topLevelOperators = ( (GroupingConstraintOperator) normalizedConstraint ).getChildren();
-            }
-            else
-            {
-                topLevelOperators = Collections.singletonList( normalizedConstraint );
-            }
-
-            renderConstraints( nestedDetailsComposite, topLevelOperators );
-        }
-        
-        details.setMinHeight( nestedDetailsComposite.computeSize( 300, SWT.DEFAULT ).y );
-    }
-    
-    private void renderConstraints( final Composite parent,
-                                    final List<ConstraintOperator> constraints )
-    {
-        for( ConstraintOperator op : constraints )
-        {
-            final ConstraintOperator.Type type = op.getType();
-            
-            if( op instanceof MultiFacetConstraintOperator )
-            {
-                final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                final String labelText;
-                
-                if( type == ConstraintOperator.Type.REQUIRES_ALL )
-                {
-                    labelText = Resources.requiresAllFacetsLabel;
-                }
-                else if( type == ConstraintOperator.Type.REQUIRES_ONE )
-                {
-                    if( mfop.getProjectFacetRefs().size() == 1 )
-                    {
-                        labelText = Resources.requiresFacetLabel;
-                    }
-                    else
-                    {
-                        labelText = Resources.requiresOneOfFacetsLabel;
-                    }
-                }
-                else
-                {
-                    labelText = Resources.conflictingFacetsLabel;
-                }
-
-                final Text label = new Text( parent, SWT.READ_ONLY );
-                label.setLayoutData( gdvindent( gdhfill(), 5 ) );
-                label.setText( labelText );
-                //label.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-                
-                final Composite facetsComposite = new Composite( parent, SWT.NONE );
-                facetsComposite.setLayoutData( gdhindent( gdvindent( gdhfill(), 5 ), 5 ) );
-                facetsComposite.setLayout( glspacing( glmargins( gl( 1 ), 0, 0 ), 0, 3 ) );
-                
-                final List<ProjectFacetRef> sortedProjectFacetRefs 
-                    = new ArrayList<ProjectFacetRef>( mfop.getProjectFacetRefs() );
-                
-                Collections.sort( sortedProjectFacetRefs, FACET_REF_COMPARATOR );
-                
-                for( ProjectFacetRef requirement : sortedProjectFacetRefs )
-                {
-                    final IProjectFacet f = requirement.getProjectFacet();
-                    final IVersionExpr vexpr = requirement.getVersionExpr();
-                    
-                    final StringBuilder text = new StringBuilder();
-                    
-                    text.append( f.getLabel() );
-                    
-                    if( ! vexpr.toString().equals( IVersionExpr.WILDCARD_SYMBOL ) &&
-                        ! ( (ProjectFacet) f ).isVersionHidden() )
-                    {
-                        text.append( ' ' );
-                        text.append( vexpr.toDisplayString() );
-                    }
-                    
-                    final ImageWithTextComposite fLabel = new ImageWithTextComposite( facetsComposite );
-                    fLabel.setLayoutData( gdhfill() );
-                    fLabel.setImage( this.facetsSelectionPanel.getImage( f, false ) );
-                    fLabel.setText( text.toString() );
-                }
-            }
-            else
-            {
-                final Label requiredFacetsLabel = new Label( parent, SWT.NONE );
-                requiredFacetsLabel.setLayoutData( gdhfill() );
-                requiredFacetsLabel.setText( op.getType().name() );
-                
-                final Composite composite = new Composite( parent, SWT.NONE );
-                composite.setLayoutData( gdhindent( gdhfill(), 5 ) );
-                composite.setLayout( glspacing( glmargins( gl( 1 ), 0, 0 ), 0, 3 ) );
-                
-                renderConstraints( composite, ( (GroupingConstraintOperator) op ).getChildren() );
-            }
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String requiresFacetLabel;
-        public static String requiresAllFacetsLabel;
-        public static String requiresOneOfFacetsLabel;
-        public static String conflictingFacetsLabel;
-        
-        static
-        {
-            initializeMessages( FacetDetailsPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.properties
deleted file mode 100644
index 2b6ec73..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetDetailsPanel.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-requiresFacetLabel = Requires the following facet\:
-requiresAllFacetsLabel = Requires all of the following facets\:
-requiresOneOfFacetsLabel = Requires one of the following facets\:
-conflictingFacetsLabel = Conflicts with the following facets\:
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java
deleted file mode 100644
index a9dea19..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetUiPlugin.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetUiPlugin 
-
-    extends AbstractUIPlugin 
-    
-{
-    public static final String PLUGIN_ID 
-        = "org.eclipse.wst.common.project.facet.ui"; //$NON-NLS-1$
-    
-    private static final String TRACING_PROP_PAGE_ACTION_CONFIG_VALIDATION
-        = PLUGIN_ID + "/propPage/actionConfigValidation"; //$NON-NLS-1$
-    
-    private static FacetUiPlugin plugin;
-    private static final Set<String> messagesLogged = new HashSet<String>();
-    
-    public FacetUiPlugin() 
-    {
-        super();
-        plugin = this;
-    }
-    
-    public static FacetUiPlugin getInstance()
-    {
-        return plugin;
-    }
-    
-    public static ImageDescriptor getImageDescriptor( final String path )
-    {
-        return imageDescriptorFromPlugin( PLUGIN_ID, path );
-    }
-    
-    public static void log( final Exception e )
-    {
-        final String msg = e.getMessage() + ""; //$NON-NLS-1$
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, e ) );
-    }
-
-    public static void log( final IStatus status )
-    {
-        getInstance().getLog().log( status );
-    }
-    
-    public static void log( final String msg )
-    {
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null ) );
-    }
-    
-    public static void logError( final String msg )
-    {
-        logError( msg, false );
-    }
-    
-    public static void logError( final String msg,
-                                 final boolean suppressDuplicates )
-    {
-        if( suppressDuplicates && messagesLogged.contains( msg ) )
-        {
-            return;
-        }
-        
-        messagesLogged.add( msg );
-        
-        log( new Status( IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, null ) );
-    }
-
-    public static void logWarning( final String msg )
-    {
-        logWarning( msg, false );
-    }
-    
-    public static void logWarning( final String msg,
-                                   final boolean suppressDuplicates )
-    {
-        if( suppressDuplicates && messagesLogged.contains( msg ) )
-        {
-            return;
-        }
-        
-        messagesLogged.add( msg );
-        
-        log( new Status( IStatus.WARNING, PLUGIN_ID, IStatus.OK, msg, null ) );
-    }
-    
-    public static IStatus createErrorStatus( final String msg,
-                                             final Exception e )
-    {
-        return new Status( IStatus.ERROR, FacetUiPlugin.PLUGIN_ID, 0, msg, e );
-    }
-    
-    public static boolean isTracingPropPageActionConfigValidation()
-    {
-        return checkDebugOption( TRACING_PROP_PAGE_ACTION_CONFIG_VALIDATION );
-    }
-    
-    private static boolean checkDebugOption( final String debugOption )
-    {
-        final String optionValue = Platform.getDebugOption( debugOption );
-        
-        return optionValue == null 
-               ? false : Boolean.valueOf( optionValue ).equals( Boolean.TRUE );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectActionFilter.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectActionFilter.java
deleted file mode 100644
index 456bdaa..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectActionFilter.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetedProjectActionFilter
-
-    implements IActionFilter
-    
-{
-    public boolean testAttribute( final Object target, 
-                                  final String name, 
-                                  final String value )
-    {
-        if( name.equals( "facet" ) ) //$NON-NLS-1$
-        {
-            final IFacetedProject fproj = (IFacetedProject) target;
-            
-            final int colon = value.indexOf( ':' );
-            final String fid;
-            final String vexprstr;
-            
-            if( colon == -1 || colon == value.length() - 1 )
-            {
-                fid = value;
-                vexprstr = null;
-            }
-            else
-            {
-                fid = value.substring( 0, colon );
-                vexprstr = value.substring( colon + 1 );
-            }
-            
-            if( ! ProjectFacetsManager.isProjectFacetDefined( fid ) )
-            {
-                return false;
-            }
-            
-            final IProjectFacet f = ProjectFacetsManager.getProjectFacet( fid );
-            
-            if( ! fproj.hasProjectFacet( f ) )
-            {
-                return false;
-            }
-            
-            if( vexprstr == null )
-            {
-                return true;
-            }
-            else
-            {
-                final IProjectFacetVersion fv = fproj.getInstalledVersion( f );
-                
-                try
-                {
-                    if( f.getVersions( vexprstr ).contains( fv ) )
-                    {
-                        return true;
-                    }
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e.getStatus() );
-                }
-            }
-            
-            return false;
-        }
-        else
-        {
-            return false;
-        }
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES = { IActionFilter.class };
-        
-        public Object getAdapter( final Object adaptable, 
-                                  final Class adapterType )
-        {
-            if( adapterType == IActionFilter.class )
-            {
-                return new FacetedProjectActionFilter();
-            }
-            else
-            {
-                return null;
-            }
-        }
-    
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectFrameworkImages.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectFrameworkImages.java
deleted file mode 100644
index d99ebcc..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetedProjectFrameworkImages.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public enum FacetedProjectFrameworkImages
-{
-    BANNER_IMAGE( "facets-page-wizban.png" ); //$NON-NLS-1$
-    
-    private static final String BASE_PATH = "images/"; //$NON-NLS-1$
-    
-    private final ImageDescriptor imageDescriptor;
-    private Image image;
-    
-    private FacetedProjectFrameworkImages( final String location )
-    {
-        this.imageDescriptor = FacetUiPlugin.getImageDescriptor( BASE_PATH + location );
-        this.image = null;
-    }
-    
-    public ImageDescriptor getImageDescriptor()
-    {
-        return this.imageDescriptor;
-    }
-    
-    public synchronized Image getImage()
-    {
-        if( this.image == null || this.image.isDisposed() )
-        {
-            this.image = this.imageDescriptor.createImage();
-        }
-        
-        return this.image;
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsPropertyPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsPropertyPage.java
deleted file mode 100644
index ff5024b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsPropertyPage.java
+++ /dev/null
@@ -1,597 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.runOnDisplayThread;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.wst.common.project.facet.core.ActionConfig;
-import org.eclipse.wst.common.project.facet.core.FacetedProjectFrameworkException;
-import org.eclipse.wst.common.project.facet.core.IActionConfig;
-import org.eclipse.wst.common.project.facet.core.IActionDefinition;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.ui.IFacetWizardPage;
-import org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard;
-import org.eclipse.wst.common.project.facet.ui.ProjectFacetsUiManager;
-import org.eclipse.wst.common.project.facet.ui.internal.util.EnhancedHyperlink;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsPropertyPage 
-
-	extends PropertyPage
-	
-{
-    public static final String ID = "org.eclipse.wst.common.project.facet.ui.FacetsPropertyPage"; //$NON-NLS-1$
-    
-    private IProject project;
-	private IFacetedProject fpj;
-    private IFacetedProjectWorkingCopy fpjwc;
-    private Composite topComposite;
-    private Composite furtherConfigComposite;
-    
-    @Override
-    public void createControl( final Composite parent )
-    {
-        super.createControl( parent );
-        getDefaultsButton().setText( Resources.revertButtonLabel );
-    }
-
-    protected Control createContents( final Composite parent ) 
-    {
-        this.topComposite = new Composite( parent, SWT.NONE );
-
-        this.topComposite.setLayoutData( gdfill() );
-        this.topComposite.setLayout( glmargins( gl( 1 ), 0, 0, 0, 5 ) );
-        
-        this.topComposite.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    handleDisposeEvent();
-                }
-            }
-        );
-        
-        Dialog.applyDialogFont( parent );
-        
-        resetContents();
-        
-        return this.topComposite;
-    }
-    
-    private void resetContents()
-    {
-        for( Control control : this.topComposite.getChildren() )
-        {
-            control.dispose();
-        }
-        
-        this.project = (IProject) getElement().getAdapter( IProject.class );
-        
-        try 
-        {
-            this.fpj = ProjectFacetsManager.create( this.project );
-        }
-        catch( CoreException e )
-        {
-            throw new RuntimeException( e );
-        }
-        
-        if( this.fpj == null )
-        {
-            final StringBuilder buf = new StringBuilder();
-            buf.append( "<form><p>" ); //$NON-NLS-1$
-            buf.append( Resources.projectNotFacetedMessage );
-            buf.append( "</p></form>" ); //$NON-NLS-1$
-
-            final FormText messageControl = new FormText( this.topComposite, SWT.NONE );
-            messageControl.setLayoutData( gdwhint( gdhfill(), 200 ) );
-            messageControl.setText( buf.toString(), true, false );
-            
-            final Link convertLink = new Link( this.topComposite, SWT.NONE );
-            convertLink.setLayoutData( gdhfill() );
-            convertLink.setText( "<a>" + Resources.convertLink + "</a>" ); //$NON-NLS-1$ //$NON-NLS-2$
-            
-            convertLink.addSelectionListener
-            (
-                new SelectionAdapter()
-                {
-                    @Override
-                    public void widgetSelected( final SelectionEvent event )
-                    {
-                        handleConvertProjectAction();
-                    }
-                }
-            );
-        }
-        else
-        {
-            this.fpjwc = SharedWorkingCopyManager.getWorkingCopy( this.fpj );
-            
-            final FacetsSelectionPanel facetsSelectionPanel 
-                = new FacetsSelectionPanel( this.topComposite, this.fpjwc );
-            
-            facetsSelectionPanel.setLayoutData( gdfill() );
-            
-            this.fpjwc.addListener
-            (
-                new IFacetedProjectListener()
-                {
-                    public void handleEvent( final IFacetedProjectEvent event ) 
-                    {
-                        handleProjectModifiedEvent();
-                    }
-                },
-                IFacetedProjectEvent.Type.PROJECT_MODIFIED
-            );
-            
-            this.furtherConfigComposite = new Composite( this.topComposite, SWT.NONE );
-            
-            updateFurtherConfigHyperlink();
-        }
-    }
-    
-	@Override
-	public boolean performOk() 
-	{
-	    if( this.fpjwc == null )
-	    {
-	        return true;
-	    }
-	    
-	    for( IProjectFacetVersion fv : this.fpjwc.getFacetedProject().getProjectFacets() )
-	    {
-	        if( fv.getPluginId() == null || fv.getProjectFacet().getPluginId() == null )
-	        {
-	            final MessageDialog dialog 
-	                = new MessageDialog( getShell(), Resources.warningDialogTitle, null,
-	                                     Resources.modifyWithUnknownWarningMessage, MessageDialog.WARNING, 
-	                                     new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL }, 1 );
-	            
-	            if( dialog.open() != Window.OK )
-	            {
-	                return false;
-	            }
-	        }
-	    }
-	    
-        final IWorkspaceRunnable wr = new IWorkspaceRunnable()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws CoreException
-                
-            {
-            	FacetsPropertyPage.this.fpjwc.commitChanges( monitor );
-            }
-        };
-        
-        final IRunnableWithProgress op = new IRunnableWithProgress()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws InvocationTargetException, InterruptedException
-                
-            {
-                try
-                {
-                    final IWorkspace ws = ResourcesPlugin.getWorkspace();
-                    ws.run( wr, ws.getRoot(), IWorkspace.AVOID_UPDATE, monitor );
-                }
-                catch( CoreException e )
-                {
-                    throw new InvocationTargetException( e );
-                }
-            }
-        };
-
-        boolean failed = false;
-        
-        try 
-        {
-        	new ProgressMonitorDialog( getShell() ).run( true, false, op );
-        }
-        catch( InterruptedException e ) 
-        {
-            failed = true;
-            return false;
-        } 
-        catch( InvocationTargetException e ) 
-        {
-            failed = true;
-            
-            final Throwable te = e.getTargetException();
-            
-            if( te instanceof CoreException )
-            {
-                IStatus st = ( (CoreException) te ).getStatus();
-                final String msg = st.getMessage();
-
-                if( ! ( te instanceof FacetedProjectFrameworkException ) ||
-                    ! ( (FacetedProjectFrameworkException) te ).isExpected() )
-                {
-                    FacetUiPlugin.log( st );
-                }
-                
-                final Throwable cause = st.getException();
-                
-                if( cause instanceof CoreException )
-                {
-                    st = ( (CoreException) cause ).getStatus();
-                }
-
-                ErrorDialog.openError( getShell(), Resources.errDlgTitle, msg, st );
-            }
-            else
-            {
-                throw new RuntimeException( te );
-            }
-        }
-        finally
-        {
-            if( failed )
-            {
-                try
-                {
-                    this.fpjwc.revertChanges();
-                }
-                catch( Exception e )
-                {
-                    FacetUiPlugin.log( e );
-                }
-            }
-        }
-        
-		return true;
-	}
-	
-	@Override
-	protected void performApply() 
-	{
-		performOk();
-		updateFurtherConfigHyperlink();
-	}
-
-	@Override
-	protected void performDefaults() 
-	{
-		this.fpjwc.revertChanges();
-		super.performDefaults();
-	}
-
-	private void handleProjectModifiedEvent()
-	{
-        final Runnable runnable = new Runnable()
-        {
-            public void run()
-            {
-                updateFurtherConfigHyperlink();
-            }
-        };
-        
-        runOnDisplayThread( this.topComposite.getDisplay(), runnable );
-	}
-	
-	private void updateFurtherConfigHyperlink()
-	{
-		for( Control child : this.furtherConfigComposite.getChildren() )
-		{
-			child.dispose();
-		}
-
-		final Set<IProjectFacetVersion> base 
-			= this.fpjwc.getFacetedProject().getProjectFacets();
-		
-		final boolean basicValidationErrorsPresent 
-		    = ( this.fpjwc.validate().getSeverity() == IStatus.ERROR );
-		
-		boolean actionConfigErrorsPresent = false;
-		boolean configPagesAvailable = false;
-		
-		if( ! basicValidationErrorsPresent )
-		{
-			for( IFacetedProject.Action action : this.fpjwc.getProjectFacetActions() )
-			{
-			    final IProjectFacetVersion fv = action.getProjectFacetVersion();
-                
-				if( ! configPagesAvailable )
-				{
-		            try
-		            {
-		            	final IFacetedProject.Action.Type actionType = action.getType();
-		    			final IActionDefinition actiondef = fv.getActionDefinition( base, actionType );
-		                
-		                if( ! ProjectFacetsUiManager.getWizardPages( actiondef.getId() ).isEmpty() )
-		                {
-		                	configPagesAvailable = true;
-		                }
-		            }
-		            catch( CoreException e )
-		            {
-		                FacetUiPlugin.log( e );
-		            }
-				}
-				
-				if( ! actionConfigErrorsPresent )
-				{
-	                final Object config = action.getConfig();
-	                
-	                if( config != null )
-	                {
-	                    IActionConfig c = null;
-	                    
-	                    if( config instanceof IActionConfig )
-	                    {
-	                        c = (IActionConfig) config;
-	                    }
-	                    else
-	                    {
-	                        final IAdapterManager m = Platform.getAdapterManager();
-	                        final String t = IActionConfig.class.getName();
-	                        c = (IActionConfig) m.loadAdapter( config, t );
-	                    }
-	                    
-	                    if( c != null )
-	                    {
-	                        final IStatus result = c.validate();
-	                        
-	                        if( result.getSeverity() == IStatus.ERROR )
-	                        {
-	                            traceActionConfigValidation( fv, result );
-	                        	actionConfigErrorsPresent = true;
-	                        }
-	                    }
-	                    
-	                    ActionConfig c2 = null;
-	                    
-	                    if( config instanceof ActionConfig )
-	                    {
-	                        c2 = (ActionConfig) config;
-	                    }
-	                    else if( config != null )
-	                    {
-	                        final IAdapterManager m = Platform.getAdapterManager();
-	                        final String t = ActionConfig.class.getName();
-	                        c2 = (ActionConfig) m.loadAdapter( config, t );
-	                    }
-	                    
-	                    if( c2 != null )
-	                    {
-	                        final IStatus result = c2.validate();
-	                        
-	                        if( result.getSeverity() == IStatus.ERROR )
-	                        {
-                                traceActionConfigValidation( fv, result );
-	                        	actionConfigErrorsPresent = true;
-	                        }
-	                    }
-	                }
-				}
-			}
-		}
-
-		if( configPagesAvailable )
-		{
-	        final ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-
-	        final Color infoBackgroundColor
-            	= this.topComposite.getDisplay().getSystemColor( SWT.COLOR_INFO_BACKGROUND );
-	        
-	        this.furtherConfigComposite.setLayoutData( gdhfill() );
-	        this.furtherConfigComposite.setLayout( glmargins( gl( 1 ), 0, 2, 0, 0 ) );
-	        
-	        final Composite subComposite = new Composite( this.furtherConfigComposite, SWT.BORDER );
-	        subComposite.setLayoutData( gdfill() );
-	        subComposite.setLayout( glmargins( gl( 2 ), 5, 5 ) );
-	        subComposite.setBackground( infoBackgroundColor );
-	        
-	        final Label image = new Label( subComposite, SWT.NONE );
-	        image.setBackground( infoBackgroundColor );
-	        
-	        final String imageType 
-	        	= ( actionConfigErrorsPresent ? ISharedImages.IMG_OBJS_ERROR_TSK : ISharedImages.IMG_OBJS_INFO_TSK );
-	        
-	        image.setImage( sharedImages.getImage( imageType ) );
-
-	        final EnhancedHyperlink link = new EnhancedHyperlink( subComposite, SWT.NONE );
-	        link.setBackground( infoBackgroundColor );
-	
-			if( actionConfigErrorsPresent )
-			{
-				link.setText( Resources.furtherConfigRequired );
-			}
-			else
-			{
-				link.setText( Resources.furtherConfigAvailable );
-			}
-			
-			link.addHyperlinkListener
-			(
-				new HyperlinkAdapter()
-				{
-					public void linkActivated( final HyperlinkEvent event ) 
-					{
-						handleFurtherConfigHyperlinkEvent();
-					}
-				}
-			);
-		}
-		else
-		{
-			this.furtherConfigComposite.setLayoutData( gdhhint( gd(), 0 ) );
-		}
-		
-		this.topComposite.layout( true, true );
-		
-		setValid( ! basicValidationErrorsPresent && ! actionConfigErrorsPresent );
-	}
-	
-	private void handleFurtherConfigHyperlinkEvent()
-	{
-		final IWizard wizard = new ModifyFacetedProjectWizard( this.fpjwc )
-		{
-			@Override
-			public boolean getShowFacetsSelectionPage() 
-			{
-				return false;
-			}
-
-			@Override
-			public boolean canFinish() 
-			{
-				return true;
-			}
-
-			@Override
-			public boolean performFinish() 
-			{
-				for( IWizardPage page : getPages() )
-				{
-					final IFacetWizardPage facetPage = (IFacetWizardPage) page;
-					facetPage.transferStateToConfig();
-				}
-				
-				return true;
-			}
-		};
-		
-		final WizardDialog dialog = new WizardDialog( getShell(), wizard )
-		{
-			@Override
-			protected void createButtonsForButtonBar( final Composite parent ) 
-			{
-				super.createButtonsForButtonBar( parent );
-				
-				getButton( IDialogConstants.FINISH_ID ).setText( IDialogConstants.OK_LABEL );
-				getButton( IDialogConstants.CANCEL_ID ).dispose();
-				( (GridLayout) parent.getLayout() ).numColumns--;
-			}
-		};
-		
-		dialog.open();
-		updateFurtherConfigHyperlink();
-	}
-	
-	private void handleConvertProjectAction()
-	{
-	    ConvertProjectToFacetedFormRunnable.runInProgressDialog( getShell(), this.project );
-	    resetContents();
-	}
-
-    private void handleDisposeEvent()
-    {
-        if( this.fpj != null )
-        {
-            SharedWorkingCopyManager.releaseWorkingCopy( this.fpj );
-        }
-    }
-    
-    private void traceActionConfigValidation( final IProjectFacetVersion fv,
-                                              final IStatus result )
-    {
-        if( FacetUiPlugin.isTracingPropPageActionConfigValidation() )
-        {
-            System.out.println( fv.getProjectFacet().getId() + " : " + fv.getVersionString() ); //$NON-NLS-1$
-            System.out.println( result );
-            
-            final Throwable e = result.getException();
-            
-            if( e != null )
-            {
-                final StringWriter sw = new StringWriter();
-                final PrintWriter pw = new PrintWriter( sw );
-                e.printStackTrace( pw );
-                
-                System.out.println( sw.getBuffer().toString() );
-            }
-        }
-    }
-    
-    private static final class Resources 
-    
-    	extends NLS
-    	
-    {
-        public static String revertButtonLabel;
-        public static String furtherConfigAvailable;
-        public static String furtherConfigRequired;
-        public static String errDlgTitle;
-        public static String warningDialogTitle;
-        public static String modifyWithUnknownWarningMessage;
-        public static String projectNotFacetedMessage;
-        public static String convertLink;
-        
-        static
-        {
-            initializeMessages( FacetsPropertyPage.class.getName(), Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsPropertyPage.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsPropertyPage.properties
deleted file mode 100644
index 44369a9..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsPropertyPage.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-revertButtonLabel = Revert
-furtherConfigAvailable = Further configuration available...
-furtherConfigRequired = Further configuration required...
-errDlgTitle = Error
-warningDialogTitle = Warning
-modifyWithUnknownWarningMessage = Modifying a faceted project when implementations of one or more installed facets are not available can potentially result in a corrupted project. Are you sure you want to proceed?
-projectNotFacetedMessage = This project is not configured to use project facets. Converting this project to faceted form will allow you to easily control the available technologies.
-convertLink = Convert to faceted form...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.java
deleted file mode 100644
index b8c544b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionDialog
-
-    extends TitleAreaDialog
-    
-{
-    private final IFacetedProjectWorkingCopy fpjwc;
-    private FacetsSelectionPanel panel;
-
-    public FacetsSelectionDialog( final Shell parentShell,
-                                  final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( parentShell );
-        
-        setShellStyle( getShellStyle() | SWT.RESIZE );
-
-        this.fpjwc = fpjwc;
-        this.panel = null;
-    }
-    
-    @Override
-    protected Control createDialogArea( final Composite parent ) 
-    {
-        parent.getShell().setText( Resources.dialogTitle );
-        setTitle( Resources.dialogTitle );
-        setMessage( Resources.dialogDescription );
-        setTitleImage( FacetedProjectFrameworkImages.BANNER_IMAGE.getImage() );
-
-        final Composite dialogComposite = (Composite) super.createDialogArea( parent );
-        
-        final Composite composite = new Composite( dialogComposite, SWT.NONE );
-        composite.setLayoutData( gdfill() );
-        composite.setLayout( glmargins( gl( 1 ), 5, 5 ) );
-        
-        this.panel = new FacetsSelectionPanel( composite, this.fpjwc );
-        this.panel.setLayoutData( gdfill() );
-        this.panel.setFocus();
-
-        return composite;
-    }
-    
-    @Override
-    protected void cancelPressed()
-    {
-        super.cancelPressed();
-        
-        // TODO: revert changes.
-    }
-
-    public static final void openDialog( final Shell parentShell,
-                                         final IFacetedProjectWorkingCopy fpjwc )
-    {
-         ( new FacetsSelectionDialog( parentShell, fpjwc ) ).open();
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String dialogTitle;
-        public static String dialogDescription;
-        
-        static
-        {
-            initializeMessages( FacetsSelectionDialog.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.properties
deleted file mode 100644
index a092178..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionDialog.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-dialogTitle = Project Facets
-dialogDescription = Select the facets that should be enabled for this project.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java
deleted file mode 100644
index 26f9715..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.Set;
-
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleEvent;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleListener;
-import org.eclipse.wst.common.project.facet.ui.FacetUiHelpContextIds;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionPage
-
-    extends WizardPage
-
-{
-    public FacetsSelectionPanel panel;
-    private IFacetedProjectWorkingCopy fpjwc;
-
-    public FacetsSelectionPage( final Set<IProjectFacetVersion> base,
-                                final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( "facets.selection.page" ); //$NON-NLS-1$
-
-        setTitle( Resources.pageTitle );
-        setDescription( Resources.pageDescription );
-        setImageDescriptor( FacetedProjectFrameworkImages.BANNER_IMAGE.getImageDescriptor() );
-
-        this.fpjwc = fpjwc;
-    }
-    
-    public void createControl( final Composite parent )
-    {
-        this.panel = new FacetsSelectionPanel( parent, this.fpjwc );
-        
-        updatePageState();
-
-        this.fpjwc.addListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    updatePageState();
-                }
-            },
-            IFacetedProjectEvent.Type.PROJECT_MODIFIED
-        );
-        
-        final IRuntimeLifecycleListener runtimeLifecycleListener = new IRuntimeLifecycleListener()
-        {
-            public void handleEvent( final IRuntimeLifecycleEvent event )
-            {
-                updatePageState();
-            }
-        };
-        
-        RuntimeManager.addListener( runtimeLifecycleListener, 
-                                    IRuntimeLifecycleEvent.Type.VALIDATION_STATUS_CHANGED );
-        
-        this.panel.addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    RuntimeManager.removeListener( runtimeLifecycleListener );
-                }
-            }
-        );
-
-        final IWorkbenchHelpSystem h = PlatformUI.getWorkbench().getHelpSystem();
-        h.setHelp( this.panel, FacetUiHelpContextIds.FACETS_SELECTION_PAGE );
-        
-        setControl( this.panel );
-    }
-
-    private void updatePageState()
-    {
-        if( ! Thread.currentThread().equals( this.panel.getDisplay().getThread() ) )
-        {
-            final Runnable uiRunnable = new Runnable()
-            {
-                public void run()
-                {
-                    updatePageState();
-                }
-            };
-            
-            this.panel.getDisplay().asyncExec( uiRunnable );
-            return;
-        }
-
-        setPageComplete( this.panel.isSelectionValid() );
-
-        if( getContainer().getCurrentPage() != null )
-        {
-            getContainer().updateButtons();
-        }
-    }
-
-    public void setVisible( final boolean visible )
-    {
-        super.setVisible( visible );
-        
-        if( visible )
-        {
-            this.panel.setFocus();
-        }
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String pageTitle;
-        public static String pageDescription;
-        
-        static
-        {
-            initializeMessages( FacetsSelectionPage.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
-
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.properties
deleted file mode 100644
index a91b135..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPage.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pageTitle = Project Facets
-pageDescription = Select the facets that should be enabled for this project.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
deleted file mode 100644
index d4ed091..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.java
+++ /dev/null
@@ -1,1780 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static java.lang.Math.max;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhspan;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.getPreferredWidth;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.runOnDisplayThread;
-
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedSet;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.project.facet.core.ICategory;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.events.IProjectFacetsChangedEvent;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacet;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleEvent;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleListener;
-import org.eclipse.wst.common.project.facet.ui.IDecorationsProvider;
-import org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard;
-import org.eclipse.wst.common.project.facet.ui.internal.util.BasicToolTip;
-import org.eclipse.wst.common.project.facet.ui.internal.util.HeaderToolTip;
-import org.eclipse.wst.common.project.facet.ui.internal.util.ReadOnlyComboBoxCellEditor;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetsSelectionPanel
-
-    extends Composite
-    implements ISelectionProvider
-
-{
-    private static final String IMG_DOWN_ARROW = "##down-arrow##"; //$NON-NLS-1$
-    
-    private final Composite topComposite;
-    private final SashForm sform1;
-    private final SashForm sform2;
-    private final Label presetsLabel;
-    private final Combo presetsCombo;
-    private final Button savePresetButton;
-    private final Button deletePresetButton;
-    private final CheckboxTreeViewer treeViewer;
-    private final Tree tree;
-    private final TreeViewerColumn colFacet;
-    private final TreeViewerColumn colVersion;
-    private final FixedFacetToolTip fixedFacetToolTip;
-    private final Menu popupMenu;
-    private final MenuItem popupMenuLockUnlock;
-    private final MenuItem popupMenuChangeVersion;
-    private final TableViewer problemsView;
-    private final TabItem detailsTabItem;
-    private final DetailsPanel detailsPanel;
-    private final TabItem runtimesTabItem;
-    private final RuntimesPanel runtimesPanel;
-    
-    private boolean showToolTips;
-    
-    private final IFacetedProjectWorkingCopy fpjwc;
-    private final List<IFacetedProjectListener> registeredWorkingCopyListeners;
-    private final Map<IProjectFacet,IProjectFacetVersion> selectedVersions;
-    private final List<ISelectionChangedListener> selectionListeners;
-    private Object selection;
-    
-    /**
-     * Holds images used throughout the panel.
-     */
-    
-    private final ImageRegistry imageRegistry;
-    
-    private final IRuntimeLifecycleListener runtimeLifecycleListener;
-    
-    public interface IFilter 
-    {
-        boolean check( IProjectFacetVersion fv );
-    }
-
-    public FacetsSelectionPanel( final Composite parent,
-                                 final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( parent, SWT.NONE );
-
-        this.fpjwc = fpjwc;
-        this.registeredWorkingCopyListeners = new ArrayList<IFacetedProjectListener>(); 
-        this.selectedVersions = new HashMap<IProjectFacet,IProjectFacetVersion>();
-        this.selection = null;
-        this.selectionListeners = new ArrayList<ISelectionChangedListener>();
-        this.showToolTips = false;
-        
-        // Initialize the image registry.
-        
-        this.imageRegistry = new ImageRegistry();
-        final Bundle bundle = Platform.getBundle( FacetUiPlugin.PLUGIN_ID );
-        
-        URL url = bundle.getEntry( "images/down-arrow.gif" ); //$NON-NLS-1$
-        this.imageRegistry.put( IMG_DOWN_ARROW, ImageDescriptor.createFromURL( url ) );
-
-        // Layout the panel.
-
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-        
-        this.topComposite = new Composite( this, SWT.NONE );
-        this.topComposite.setLayout( glmargins( gl( 4 ), 0, 0 ) );
-        
-        this.presetsLabel = new Label( this.topComposite, SWT.NONE );
-        this.presetsLabel.setText( Resources.presetsLabel );
-        
-        this.presetsCombo = new Combo( this.topComposite, SWT.READ_ONLY );
-        this.presetsCombo.setLayoutData( gdhfill() );
-        
-        this.savePresetButton = new Button( this.topComposite, SWT.PUSH );
-        this.savePresetButton.setText( Resources.saveButtonLabel );
-        GridDataFactory.defaultsFor( this.savePresetButton ).applyTo( this.savePresetButton );
-        
-        this.savePresetButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleSavePreset();
-                }
-            }
-        );
-
-        this.deletePresetButton = new Button( this.topComposite, SWT.PUSH );
-        this.deletePresetButton.setText( Resources.deleteButtonLabel );
-        GridDataFactory.defaultsFor( this.deletePresetButton ).applyTo( this.deletePresetButton );
-        
-        this.deletePresetButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleDeletePreset();
-                }
-            }
-        );
-        
-        this.sform1 = new SashForm( this.topComposite, SWT.VERTICAL | SWT.SMOOTH );
-        this.sform1.setLayoutData( gdhspan( gdfill(), 4 ) );
-        
-        this.sform2 = new SashForm( this.sform1, SWT.HORIZONTAL | SWT.SMOOTH );
-        this.sform2.setLayoutData( gdhspan( gdfill(), 4 ) );
-        
-        this.treeViewer = new CheckboxTreeViewer( this.sform2, SWT.BORDER );
-        this.tree = this.treeViewer.getTree();
-        
-        this.tree.setHeaderVisible( true );
-        
-        this.treeViewer.setContentProvider( new ContentProvider() );
-        this.treeViewer.setSorter( new Sorter() );
-        
-        this.colFacet = new TreeViewerColumn( this.treeViewer, SWT.NONE );
-        this.colFacet.getColumn().setText( Resources.facetColumnLabel );
-        this.colFacet.getColumn().setResizable( true );
-        this.colFacet.setLabelProvider( new FacetColumnLabelProvider() );
-        this.colFacet.getColumn().setWidth( computeDefaultFacetColumnWidth() );
-
-        this.colVersion = new TreeViewerColumn( this.treeViewer, SWT.NONE );
-        this.colVersion.getColumn().setText( Resources.versionColumnLabel );
-        this.colVersion.getColumn().setResizable( true );
-        this.colVersion.setLabelProvider( new FacetVersionColumnLabelProvider() );
-        this.colVersion.setEditingSupport( new FacetVersionColumnEditingSupport( this.treeViewer ) );
-        this.colVersion.getColumn().setWidth( computeDefaultVersionColumnWidth() );
-        
-        this.popupMenu = new Menu( getShell(), SWT.POP_UP );
-        
-        this.popupMenuChangeVersion = new MenuItem( this.popupMenu, SWT.PUSH );
-        this.popupMenuChangeVersion.setText( Resources.changeVersionMenuItem );
-
-        this.popupMenuChangeVersion.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleChangeVersionMenuSelected();
-                }
-            }
-        );
-        
-        this.popupMenuLockUnlock = new MenuItem( this.popupMenu, SWT.PUSH );
-        
-        this.popupMenuLockUnlock.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleFacetLockUnlock();
-                }
-            }
-        );
-
-        new FacetToolTip( this.tree );
-        new CategoryToolTip( this.tree );
-        this.fixedFacetToolTip = new FixedFacetToolTip( this.tree );
-        
-        this.treeViewer.setInput( new Object() );
-
-        this.treeViewer.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent e )
-                {
-                    FacetsSelectionPanel.this.handleSelectionChangedEvent();
-                }
-            }
-        );
-        
-        this.treeViewer.addCheckStateListener
-        (
-            new ICheckStateListener()
-            {
-                public void checkStateChanged( final CheckStateChangedEvent e )
-                {
-                    FacetsSelectionPanel.this.handleCheckStateChanged( e );
-                }
-            }
-        );
-
-        this.tree.addListener
-        (
-            SWT.PaintItem,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    handlePaintItemEvent( event );
-                }
-            }
-        );
-        
-        this.tree.addListener
-        (
-            SWT.MouseDown,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    handleMouseDownEvent( event );
-                }
-            }
-        );
-        
-        final TabFolder tabFolder = new TabFolder( this.sform2, SWT.NONE );
-        tabFolder.setLayoutData( gdhhint( gdhfill(), 80 ) );
-
-        this.detailsPanel = new DetailsPanel( tabFolder, this );
-        this.detailsTabItem = new TabItem( tabFolder, SWT.NULL );
-        this.detailsTabItem.setControl( this.detailsPanel );
-        this.detailsTabItem.setText( Resources.detailsTabLabel );
-
-        this.runtimesPanel = new RuntimesPanel( tabFolder, this.fpjwc );
-        this.runtimesTabItem = new TabItem( tabFolder, SWT.NULL );
-        this.runtimesTabItem.setControl( this.runtimesPanel );
-        this.runtimesTabItem.setText( Resources.runtimesTabLabel );
-        
-        this.problemsView = new TableViewer( this.sform1, SWT.BORDER );
-        this.problemsView.setContentProvider( new ProblemsContentProvider() );
-        this.problemsView.setLabelProvider( new ProblemsLabelProvider() );
-        this.problemsView.setInput( new Object() );
-
-        addDisposeListener
-        (
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    handleDisposeEvent();
-                }
-            }
-        );
-        
-        Dialog.applyDialogFont( parent );
-        
-        // Setup runtime lifecycle listener.
-        
-        this.runtimeLifecycleListener = new IRuntimeLifecycleListener()
-        {
-            public void handleEvent( final IRuntimeLifecycleEvent event )
-            {
-                handleValidationProblemsChangedEvent();
-            }
-        };
-        
-        RuntimeManager.addListener( this.runtimeLifecycleListener, 
-                                    IRuntimeLifecycleEvent.Type.VALIDATION_STATUS_CHANGED );
-        
-        // Bind to the model.
-        
-        addWorkingCopyListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleProjectFacetsChangedEvent( event );
-                }
-            },
-            IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED
-        );
-        
-        handleProjectFacetsChangedEvent( null );
-        
-        addWorkingCopyListener
-        (
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleValidationProblemsChangedEvent();
-                }
-            },
-            IFacetedProjectEvent.Type.VALIDATION_PROBLEMS_CHANGED,
-            IFacetedProjectEvent.Type.PROJECT_MODIFIED
-        );
-        
-        handleValidationProblemsChangedEvent();
-        
-        addWorkingCopyListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleSelectedPresetChangedEvent();
-                }
-            },
-            IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED
-        );
-
-        ModifyFacetedProjectWizard.syncWithPresetsModel( this.fpjwc, this.presetsCombo );
-        
-        addWorkingCopyListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleModelChangedEvent( event );
-                }
-            },
-            IFacetedProjectEvent.Type.FIXED_FACETS_CHANGED, 
-            IFacetedProjectEvent.Type.SELECTED_PRESET_CHANGED,
-            IFacetedProjectEvent.Type.TARGETED_RUNTIMES_CHANGED
-        );
-        
-        // Set the preferred dimensions of the panel.
-        
-        final int prefWidthTree = getPreferredWidth( this.tree );
-        int prefWidthRuntimesPanel = getPreferredWidth( this.runtimesPanel );
-        prefWidthRuntimesPanel = max( prefWidthRuntimesPanel, 300 );
-        final int prefWidth = prefWidthTree + prefWidthRuntimesPanel + 80;
-        
-        this.topComposite.setLayoutData( gdwhint( gdhhint( gdfill(), 500 ), prefWidth ) );
-        
-        this.sform1.setWeights( new int[] { 70, 30 } );
-        this.sform2.setWeights( new int[] { prefWidthTree, prefWidthRuntimesPanel } );
-        
-        // Select the first item in the table.
-        
-        if( this.tree.getItemCount() > 0 )
-        {
-            final TreeItem firstItem = this.tree.getItem( 0 );
-            this.treeViewer.setSelection( new StructuredSelection( firstItem.getData() ) );
-        }
-        
-        handleSelectionChangedEvent();
-    }
-    
-    public IFacetedProjectWorkingCopy getFacetedProjectWorkingCopy()
-    {
-        return this.fpjwc;
-    }
-    
-    public boolean isSelectionValid()
-    {
-        return ( this.fpjwc.validate().getSeverity() != IStatus.ERROR );
-    }
-    
-    public boolean setFocus()
-    {
-        return this.tree.setFocus();
-    }
-    
-    public void addSelectionChangedListener( final ISelectionChangedListener listener )
-    {
-        this.selectionListeners.add( listener );
-    }
-
-    public void removeSelectionChangedListener( final ISelectionChangedListener listener )
-    {
-        this.selectionListeners.remove( listener );
-    }
-
-    public ISelection getSelection()
-    {
-        if( this.selection != null )
-        {
-            return new StructuredSelection( this.selection );
-        }
-        else
-        {
-            return new StructuredSelection( new Object[ 0 ] );
-        }
-    }
-
-    public void setSelection( final ISelection selection )
-    {
-        throw new UnsupportedOperationException();
-    }
-
-    private void notifySelectionChangedListeners()
-    {
-        final SelectionChangedEvent event = new SelectionChangedEvent( this, getSelection() );
-
-        for( ISelectionChangedListener listener : this.selectionListeners )
-        {
-            listener.selectionChanged( event );
-        }
-    }
-    
-    private ImageRegistry getImageRegistry()
-    {
-        return this.imageRegistry;
-    }
-    
-    public Image getImage( final IProjectFacet facet,
-                           final boolean showDecorations )
-    {
-        final boolean isFixed = getFacetedProjectWorkingCopy().isFixedProjectFacet( facet );
-        final String id = ( isFixed && showDecorations ? "F:" : "f:" ) + facet.getId(); //$NON-NLS-1$ //$NON-NLS-2$
-        
-        Image image = getImageRegistry().get( id );
-        
-        if( image == null )
-        {
-            final IDecorationsProvider decprov
-                = (IDecorationsProvider) facet.getAdapter( IDecorationsProvider.class );
-            
-            ImageDescriptor imgdesc = decprov.getIcon();
-            
-            if( isFixed && showDecorations )
-            {
-                imgdesc = new FixedFacetImageDescriptor( imgdesc );
-            }
-            
-            getImageRegistry().put( id, imgdesc );
-            image = getImageRegistry().get( id );
-        }
-
-        return image;
-    }
-    
-    public Image getImage( final ICategory category )
-    {
-        final String id = "c:" + category.getId(); //$NON-NLS-1$
-        
-        Image image = getImageRegistry().get( id );
-        
-        if( image == null )
-        {
-            final IDecorationsProvider decprov
-                = (IDecorationsProvider) category.getAdapter( IDecorationsProvider.class );
-            
-            final ImageDescriptor imgdesc = decprov.getIcon();
-            
-            getImageRegistry().put( id, imgdesc );
-            image = getImageRegistry().get( id );
-        }
-
-        return image;
-        
-    }
-
-    private void refresh()
-    {
-        // Somehow the checked state of nested items gets lost when a refresh
-        // is performed, so we have to do this workaround.
-        
-        final Object[] checked = this.treeViewer.getCheckedElements();
-        this.treeViewer.refresh();
-        this.treeViewer.setCheckedElements( checked );
-    }
-    
-    public void setCategoryExpandedState( final ICategory category,
-                                          final boolean expanded )
-    {
-        this.treeViewer.setExpandedState( category, expanded );
-    }
-    
-    public boolean getShowToolTips()
-    {
-        return this.showToolTips;
-    }
-    
-    public void setShowToolTips( final boolean showToolTips )
-    {
-        this.showToolTips = showToolTips;
-    }
-    
-    private void refreshCategoryState( final ICategory category )
-    {
-        if( category == null )
-        {
-            return;
-        }
-        
-        int available = 0;
-        int selected = 0;
-
-        for( IProjectFacet f : category.getProjectFacets() )
-        {
-            if( this.fpjwc.isFacetAvailable( f ) )
-            {
-                available++;
-            }
-            
-            if( this.fpjwc.hasProjectFacet( f ) )
-            {
-                selected++;
-            }
-        }
-
-        if( selected == 0 )
-        {
-            this.treeViewer.setChecked( category, false );
-            this.treeViewer.setGrayed( category, false );
-        }
-        else if( selected == available )
-        {
-            this.treeViewer.setChecked( category, true );
-            this.treeViewer.setGrayed( category, false );
-        }
-        else
-        {
-            this.treeViewer.setGrayChecked( category, true );
-        }
-    }
-    
-    private void addWorkingCopyListener( final IFacetedProjectListener listener,
-                                         final IFacetedProjectEvent.Type... types )
-    {
-        this.fpjwc.addListener( listener, types );
-        this.registeredWorkingCopyListeners.add( listener );
-    }
-
-    public IProjectFacet getSelectedProjectFacet()
-    {
-        final IProjectFacetVersion fv = getSelectedProjectFacetVersion();
-        
-        if( fv != null )
-        {
-            return fv.getProjectFacet();
-        }
-        
-        return null;
-    }
-    
-    public IProjectFacetVersion getSelectedProjectFacetVersion()
-    {
-        if( this.selection != null && this.selection instanceof IProjectFacetVersion )
-        {
-            return (IProjectFacetVersion) this.selection;
-        }
-        
-        return null;
-    }
-    
-    private IProjectFacetVersion getSelectedVersion( final IProjectFacet f )
-    {
-        final Set<IProjectFacetVersion> availableVersions = this.fpjwc.getAvailableVersions( f );
-        
-        if( availableVersions.isEmpty() )
-        {
-            throw new IllegalStateException();
-        }
-        
-        IProjectFacetVersion selectedVersion = this.fpjwc.getProjectFacetVersion( f );
-        
-        if( selectedVersion == null )
-        {
-            selectedVersion = this.selectedVersions.get( f );
-
-            if( selectedVersion == null )
-            {
-                selectedVersion = f.getDefaultVersion();
-            }
-            
-            if( ! availableVersions.contains( selectedVersion ) )
-            {
-                selectedVersion = this.fpjwc.getHighestAvailableVersion( f );
-            }
-        }
-        
-        this.selectedVersions.put( f, selectedVersion );
-        
-        return selectedVersion;
-    }
-    
-    private void setSelectedVersion( final IProjectFacet f,
-                                     final IProjectFacetVersion fv )
-    {
-        if( this.fpjwc.getProjectFacetVersion( f ) != null )
-        {
-            this.fpjwc.changeProjectFacetVersion( fv );
-        }
-        
-        this.selectedVersions.put( f, fv );
-        
-        if( f == this.getSelectedProjectFacet() )
-        {
-            this.selection = fv;
-            notifySelectionChangedListeners();
-        }
-    }
-    
-    private void handleSelectionChangedEvent()
-    {
-        Object selection = ( (IStructuredSelection) this.treeViewer.getSelection() ).getFirstElement();
-
-        if( selection != null && selection instanceof IProjectFacet )
-        {
-            selection = getSelectedVersion( (IProjectFacet ) selection );
-        }
-        
-        if( selection != this.selection )
-        {
-            this.selection = selection;
-
-            notifySelectionChangedListeners();
-            updatePopupMenu();
-        }
-    }
-    
-    private void handleCheckStateChanged( final CheckStateChangedEvent event )
-    {
-        final Object el = event.getElement();
-        final boolean checked = event.getChecked();
-        
-        if( el instanceof IProjectFacet )
-        {
-            final IProjectFacet f = (IProjectFacet) el;
-            
-            if( this.fpjwc.getFixedProjectFacets().contains( f ) )
-            {
-                if( ! checked )
-                {
-                    this.treeViewer.setChecked( el, true );
-                    
-                    final String msg 
-                        = NLS.bind( Resources.couldNotDeselectFixedFacetMessage, f.getLabel() );                    
-
-                    this.fixedFacetToolTip.setMessage( msg );
-                    
-                    final Point cursorLocation = getDisplay().getCursorLocation();
-                    this.fixedFacetToolTip.show( this.tree.toControl( cursorLocation ) );
-                }
-                
-                return;
-            }
-            
-            if( checked )
-            {
-                this.fpjwc.addProjectFacet( getSelectedVersion( f ) );
-            }
-            else
-            {
-                this.fpjwc.removeProjectFacet( f );
-            }
-            
-            refreshCategoryState( f.getCategory() );
-        }
-        else
-        {
-            final ContentProvider cp
-                = (ContentProvider) this.treeViewer.getContentProvider();
-
-            final Set<IProjectFacetVersion> facets
-                = new HashSet<IProjectFacetVersion>( this.fpjwc.getProjectFacets() );
-                
-            final Object[] children = cp.getChildren( el );
-            int selected = 0;
-            
-            for( Object child : children )
-            {
-                final IProjectFacet f = (IProjectFacet) child;
-                
-                if( ! this.fpjwc.getFixedProjectFacets().contains( f ) )
-                {
-                    final IProjectFacetVersion fv = getSelectedVersion( f );
-                    
-                    if( checked )
-                    {
-                        facets.add( fv );
-                    }
-                    else
-                    {
-                        facets.remove( fv );
-                    }
-                    
-                    this.treeViewer.setChecked( f, checked );
-                }
-                
-                if( this.fpjwc.hasProjectFacet( f ) )
-                {
-                    selected++;
-                }
-            }
-            
-            if( selected == 0 || selected == children.length )
-            {
-                this.treeViewer.setGrayed( el, false );
-            }
-            else
-            {
-                this.treeViewer.setGrayChecked( el, true );
-            }
-            
-            this.fpjwc.setProjectFacets( facets );
-        }
-
-        this.fpjwc.setSelectedPreset( null );
-        
-        updatePopupMenu();
-    }
-
-    private void handleMouseDownEvent( final Event event )
-    {
-        handleMouseDownEventHelper( event, this.tree.getItems() );
-    }
-    
-    private boolean handleMouseDownEventHelper( final Event event,
-                                                final TreeItem[] items )
-    {
-        for( TreeItem item : items )
-        {
-            if( item.getBounds( 1 ).contains( event.x, event.y ) )
-            {
-                final TreeItem[] newSelection = new TreeItem[] { item };
-                
-                if( ! Arrays.equals( this.tree.getSelection(), newSelection ) )
-                {
-                    this.tree.setSelection( new TreeItem[] { item } );
-                    this.treeViewer.editElement( item.getData(), 1 );
-                }
-                
-                return true;
-            }
-            else if( handleMouseDownEventHelper( event, item.getItems() ) )
-            {
-                return true;
-            }
-        }
-        
-        return false;
-    }
-    
-    private void handlePaintItemEvent( final Event event )
-    {
-        final TreeItem item = (TreeItem) event.item;
-        final Object itemData = item.getData();
-
-        if( itemData instanceof IProjectFacet && event.index == 1 )
-        {
-            final IProjectFacet f = (IProjectFacet) itemData;
-            
-            if( this.fpjwc.getAvailableVersions( f ).size() > 1 )
-            {
-                final Image arrowImage = getImageRegistry().get( IMG_DOWN_ARROW );
-                final Rectangle arrowImageBounds = arrowImage.getBounds();
-                
-                final int columnWidth = this.colVersion.getColumn().getWidth();
-                final int itemHeight = this.tree.getItemHeight();
-                
-                int x, y;
-                
-                x = event.x + columnWidth - arrowImageBounds.width - 10;
-                y = event.y;
-                event.gc.fillRectangle( x, y, arrowImageBounds.width + 10, itemHeight );
-                
-                y = event.y + ( itemHeight - arrowImageBounds.height ) / 2;
-                event.gc.drawImage( arrowImage, x, y );
-            }
-        }
-    }
-    
-    private void handleDisposeEvent()
-    {
-        this.imageRegistry.dispose();
-        
-        for( IFacetedProjectListener listener : this.registeredWorkingCopyListeners )
-        {
-            this.fpjwc.removeListener( listener );
-        }
-        
-        RuntimeManager.removeListener( this.runtimeLifecycleListener );
-    }
-    
-    private void handleSavePreset()
-    {
-        final Set<IProjectFacetVersion> facets = this.fpjwc.getProjectFacets();
-        final IPreset preset = SavePresetDialog.showDialog( getShell(), facets );
-        
-        if( preset != null )
-        {
-            this.fpjwc.setSelectedPreset( preset.getId() );
-        }
-    }
-    
-    private void handleDeletePreset()
-    {
-        final IPreset preset = this.fpjwc.getSelectedPreset();
-        this.fpjwc.setSelectedPreset( null );
-        ProjectFacetsManager.deletePreset( preset );
-    }
-    
-    private void handleProjectFacetsChangedEvent( final IFacetedProjectEvent event )
-    {
-        final Set<ICategory> affectedCategories = new HashSet<ICategory>();
-        
-        if( event != null )
-        {
-            final IFacetedProjectWorkingCopy fpjwc = event.getWorkingCopy();
-            
-            final IProjectFacetsChangedEvent evt
-                = (IProjectFacetsChangedEvent) event;
-            
-            for( IProjectFacetVersion fv : evt.getAllAffectedFacets())
-            {
-                final IProjectFacet f = fv.getProjectFacet();
-                final boolean checked = fpjwc.hasProjectFacet( fv );
-                
-                final CheckboxTreeViewer treeViewer = this.treeViewer;
-                Display.getDefault().asyncExec(new Runnable() {
-                        public void run() {
-                            treeViewer.setChecked( f, checked );
-                            treeViewer.update( f, null );
-                        }
-                });
-
-                final ICategory category = f.getCategory();
-                
-                if( category != null )
-                {
-                    affectedCategories.add( category );
-                }
-            }
-        }
-        else
-        {
-            final List<IProjectFacet> facets = new ArrayList<IProjectFacet>();
-            
-            for( IProjectFacetVersion fv : this.fpjwc.getProjectFacets() )
-            {
-                facets.add( fv.getProjectFacet() );
-            }
-            
-            this.treeViewer.setCheckedElements( facets.toArray() );
-            
-            for( IProjectFacet facet : this.fpjwc.getAvailableFacets().keySet() )
-            {
-                final ICategory category = facet.getCategory();
-                
-                if( category != null )
-                {
-                    affectedCategories.add( category );
-                }
-            }
-            
-            this.treeViewer.update( this.fpjwc.getAvailableFacets().keySet().toArray(), null );
-        }
-
-        for( ICategory category : affectedCategories )
-        {
-            refreshCategoryState( category );
-        }
-    }
-    
-    private void handleValidationProblemsChangedEvent()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            final Runnable uiRunnable = new Runnable()
-            {
-                public void run()
-                {
-                    handleValidationProblemsChangedEvent();
-                }
-            };
-            
-            getDisplay().asyncExec( uiRunnable );
-            
-            return;
-        }
-        
-        this.problemsView.refresh();
-
-        if( getFilteredProblems().length == 0 )
-        {
-            if( this.sform1.getMaximizedControl() == null )
-            {
-                this.sform1.setMaximizedControl( this.sform2 );
-            }
-        }
-        else
-        {
-            if( this.sform1.getMaximizedControl() != null )
-            {
-                this.sform1.setMaximizedControl( null );
-            }
-        }
-    }
-    
-    private void handleSelectedPresetChangedEvent()
-    {
-        final IPreset preset = this.fpjwc.getSelectedPreset();
-        
-        if( preset == null )
-        {
-            this.savePresetButton.setEnabled( true );
-            this.deletePresetButton.setEnabled( false );
-        }
-        else
-        {
-            this.savePresetButton.setEnabled( false );
-            this.deletePresetButton.setEnabled( preset.getType() == IPreset.Type.USER_DEFINED );
-        }
-    }
-    
-    private void handleModelChangedEvent( final IFacetedProjectEvent event )
-    {
-        switch( event.getType() )
-        {
-            case FIXED_FACETS_CHANGED:
-            case TARGETED_RUNTIMES_CHANGED:
-            {
-                final Runnable runnable = new Runnable()
-                {
-                    public void run()
-                    {
-                        refresh();
-                    }
-                };
-                
-                runOnDisplayThread( getDisplay(), runnable );
-                
-                break;
-            }
-        }
-    }
-    
-    private void handleChangeVersionMenuSelected()
-    {
-        final IProjectFacet f = getSelectedProjectFacet();
-        final IProjectFacetVersion fv = getSelectedVersion( f );
-        final SortedSet<IProjectFacetVersion> versions = this.fpjwc.getAvailableVersions( f );
-        
-        final IProjectFacetVersion newVersion
-            = ChangeFacetVersionDialog.showDialog( getShell(), f, fv, versions );
-            
-        if( newVersion != null )
-        {
-            this.fpjwc.changeProjectFacetVersion( newVersion );
-        }
-    }
-    
-    private void handleFacetLockUnlock()
-    {
-        final IProjectFacet f = getSelectedProjectFacet();
-        
-        final Set<IProjectFacet> fixedFacets 
-            = new HashSet<IProjectFacet>( this.fpjwc.getFixedProjectFacets() );
-        
-        if( fixedFacets.contains( f ) )
-        {
-            fixedFacets.remove( f );
-        }
-        else
-        {
-            fixedFacets.add( f );
-        }
-        
-        this.fpjwc.setFixedProjectFacets( fixedFacets );
-        
-        updatePopupMenu();
-    }
-    
-    private void updatePopupMenu()
-    {
-        if( this.selection instanceof IProjectFacetVersion )
-        {
-            this.tree.setMenu( this.popupMenu );
-
-            final IProjectFacet f = ( (IProjectFacetVersion) this.selection ).getProjectFacet();
-            
-            if( this.fpjwc.isFixedProjectFacet( f ) )
-            {
-                this.popupMenuLockUnlock.setText( Resources.unlockMenuItem );
-            }
-            else
-            {
-                this.popupMenuLockUnlock.setText( Resources.lockMenuItem );
-            }
-            
-            this.popupMenuLockUnlock.setEnabled( this.fpjwc.hasProjectFacet( f ) );
-            
-            final int numAvailableVersions = this.fpjwc.getAvailableVersions( f ).size();
-            this.popupMenuChangeVersion.setEnabled( numAvailableVersions > 1 );
-        }
-        else
-        {
-            this.tree.setMenu( null );
-        }
-    }
-    
-    private TreeItem getTreeItem( final int x,
-                                  final int y )
-    {
-        return getTreeItemHelper( x, y, this.tree.getItems() );
-    }
-    
-    private static TreeItem getTreeItemHelper( final int x,
-                                               final int y,
-                                               final TreeItem[] items )
-    {
-        for( TreeItem item : items )
-        {
-            if( item.getBounds().contains( x, y ) )
-            {
-                return item;
-            }
-            
-            final TreeItem res = getTreeItemHelper( x, y, item.getItems() );
-            
-            if( res != null )
-            {
-                return res;
-            }
-        }
-        
-        return null;
-    }
-    
-    private int computeDefaultFacetColumnWidth()
-    {
-        final GC gc = new GC( this.getDisplay() );
-        int maxFacetLabelWidth = 0;
-        
-        try
-        {
-            gc.setFont( this.tree.getFont() );
-            
-            for( IProjectFacet f : ProjectFacetsManager.getProjectFacets() )
-            {
-                maxFacetLabelWidth = max( maxFacetLabelWidth, gc.textExtent( f.getLabel() ).x );
-            }
-        }
-        finally
-        {
-            gc.dispose();
-        }
-        
-        return max( maxFacetLabelWidth + 100, 200 );
-    }
-
-    private int computeDefaultVersionColumnWidth()
-    {
-        final GC gc = new GC( this.getDisplay() );
-        int maxVersionStringWidth = 0;
-        final int columnLabelWidth;
-        
-        try
-        {
-            gc.setFont( this.tree.getFont() );
-
-            for( IProjectFacet f : ProjectFacetsManager.getProjectFacets() )
-            {
-                for( IProjectFacetVersion fv : f.getVersions() )
-                {
-                    final int textExtent = gc.textExtent( fv.getVersionString() ).x;
-                    maxVersionStringWidth = max( maxVersionStringWidth, textExtent + 30 );
-                }
-            }
-
-            columnLabelWidth = gc.textExtent( Resources.versionColumnLabel ).x + 30;
-        }
-        finally
-        {
-            gc.dispose();
-        }
-        
-        return max( maxVersionStringWidth, columnLabelWidth );
-    }
-    
-    private IStatus[] getFilteredProblems()
-    {
-        final IStatus[] unfiltered = this.fpjwc.validate().getChildren();
-        boolean somethingToRemove = false;
-        
-        for( IStatus st : unfiltered )
-        {
-            if( st.getCode() == IFacetedProjectWorkingCopy.PROBLEM_PROJECT_NAME )
-            {
-                somethingToRemove = true;
-                break;
-            }
-        }
-        
-        if( ! somethingToRemove )
-        {
-            return unfiltered;
-        }
-        
-        final List<IStatus> filtered = new ArrayList<IStatus>();
-        
-        for( IStatus st : unfiltered )
-        {
-            if( st.getCode() != IFacetedProjectWorkingCopy.PROBLEM_PROJECT_NAME )
-            {
-                filtered.add( st );
-            }
-        }
-        
-        return filtered.toArray( new IStatus[ filtered.size() ] );
-    }
-
-    private final class ContentProvider
-
-        implements ITreeContentProvider
-
-    {
-        public Object[] getElements( final Object element )
-        {
-            final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-            final List<Object> list = new ArrayList<Object>();
-            final Set<ICategory> categories = ProjectFacetsManager.getCategories();
-
-            for( ICategory cat : categories )
-            {
-                boolean visible = false;
-
-                for( IProjectFacet f : cat.getProjectFacets() )
-                {
-                    if( ! fpjwc.getAvailableVersions( f ).isEmpty() )
-                    {
-                        visible = true;
-                        break;
-                    }
-                }
-
-                if( visible )
-                {
-                    list.add( cat );
-                }
-            }
-            
-            for( Map.Entry<IProjectFacet,SortedSet<IProjectFacetVersion>> entry 
-                 : fpjwc.getAvailableFacets().entrySet() )
-            {
-                final IProjectFacet f = entry.getKey();
-                final SortedSet<IProjectFacetVersion> availableVersions = entry.getValue();
-                
-                if( f.getCategory() == null && ! availableVersions.isEmpty() )
-                {
-                    list.add( f );
-                }
-            }
-
-            return list.toArray();
-        }
-
-        public Object[] getChildren( final Object parent )
-        {
-            if( parent instanceof ICategory )
-            {
-                final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-                final ICategory category = (ICategory) parent;
-                final List<IProjectFacet> facets = new ArrayList<IProjectFacet>();
-
-                for( IProjectFacet f : category.getProjectFacets() )
-                {
-                    if( ! fpjwc.getAvailableVersions( f ).isEmpty() )
-                    {
-                        facets.add( f );
-                    }
-                }
-
-                return facets.toArray();
-            }
-            else
-            {
-                return new Object[ 0 ];
-            }
-        }
-
-        public Object getParent( final Object element )
-        {
-            if( element instanceof IProjectFacet )
-            {
-                final IProjectFacet f = (IProjectFacet) element;
-                return f.getCategory();
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        public boolean hasChildren( final Object element )
-        {
-            return ( element instanceof ICategory ) &&
-                   ! ( (ICategory) element ).getProjectFacets().isEmpty();
-        }
-
-        public void dispose() { }
-
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-    }
-
-    private final class FacetColumnLabelProvider
-
-        extends ColumnLabelProvider
-    
-    {
-        @Override
-        public String getText( final Object element )
-        {
-            if( element instanceof ICategory )
-            {
-                return ( (ICategory) element ).getLabel();
-            }
-            else
-            {
-                return ( (IProjectFacet) element ).getLabel();
-            }
-        }
-    
-        @Override
-        public Image getImage( final Object element )
-        {
-            if( element instanceof IProjectFacet )
-            {
-                return FacetsSelectionPanel.this.getImage( (IProjectFacet) element, true );
-            }
-            else
-            {
-                return FacetsSelectionPanel.this.getImage( (ICategory) element );
-            }
-        }
-    }
-
-    private final class FacetVersionColumnLabelProvider
-
-        extends ColumnLabelProvider
-
-    {
-        @Override
-        public String getText( final Object element )
-        {
-            if( element instanceof IProjectFacet )
-            {
-                final ProjectFacet f = (ProjectFacet) element;
-                
-                if( ! f.isVersionHidden() )
-                {
-                    return getSelectedVersion( f ).getVersionString();
-                }
-            }
-            
-            return null;
-        }
-    }
-
-    private final class FacetVersionColumnEditingSupport
-
-        extends EditingSupport
-    
-    {
-        private final ReadOnlyComboBoxCellEditor ceditor;
-        private final IFacetedProjectWorkingCopy fpjwc;
-        
-        public FacetVersionColumnEditingSupport( final TreeViewer treeViewer )
-        {
-            super( treeViewer );
-            this.ceditor = new ReadOnlyComboBoxCellEditor( treeViewer.getTree(), new String[ 0 ], SWT.DROP_DOWN | SWT.READ_ONLY );
-            this.fpjwc = getFacetedProjectWorkingCopy();
-        }
-        
-        @Override
-        public boolean canEdit( final Object element )
-        {
-            return element instanceof IProjectFacet &&
-                   this.fpjwc.getAvailableVersions( (IProjectFacet ) element ).size() > 1;
-        }
-        
-        @Override
-        protected CellEditor getCellEditor( final Object element )
-        {
-            final IProjectFacet f = (IProjectFacet) element;
-            
-            if( f == null )
-            {
-                throw new IllegalStateException();
-            }
-            
-            final SortedSet<IProjectFacetVersion> versions = this.fpjwc.getAvailableVersions( f );
-            final String[] verstrs = new String[ versions.size() ];
-            Integer value = null;
-            
-            int i = 0;
-            
-            for( IProjectFacetVersion fv : versions )
-            {
-                verstrs[ i ] = fv.getVersionString();
-                
-                if( fv == getSelectedVersion( f ) )
-                {
-                    value = new Integer( i );
-                }
-                
-                i++;
-            }
-            
-            this.ceditor.setItems( verstrs );
-            this.ceditor.setValue( value );
-            
-            return this.ceditor;
-        }
-    
-        @Override
-        public Object getValue( final Object element )
-        {
-            final IProjectFacet f = (IProjectFacet) element;
-            int i = 0;
-            
-            for( IProjectFacetVersion fv : this.fpjwc.getAvailableVersions( f ) )
-            {
-                if( fv == getSelectedVersion( f ) )
-                {
-                    return new Integer( i );
-                }
-                
-                i++;
-            }
-    
-            return new IllegalStateException();
-        }
-    
-        @Override
-        public void setValue( final Object element,
-                              final Object value )
-        {
-            final IProjectFacet f = (IProjectFacet) element;
-            final int index = ( (Integer) value ).intValue();
-    
-            if( index != -1 )
-            {
-                int i = 0;
-                
-                for( IProjectFacetVersion fv : this.fpjwc.getAvailableVersions( f ) )
-                {
-                    if( i == index )
-                    {
-                        setSelectedVersion( f, fv );
-                        FacetsSelectionPanel.this.treeViewer.update( f, null );
-                        
-                        break;
-                    }
-                    
-                    i++;
-                }
-            }
-        }
-    }
-    
-    private static final class FixedFacetImageDescriptor 
-    
-        extends CompositeImageDescriptor 
-        
-    {
-        private static final String OVERLAY_IMG_LOCATION
-            = "images/lock.gif"; //$NON-NLS-1$
-        
-        private static final ImageData OVERLAY
-            = FacetUiPlugin.getImageDescriptor( OVERLAY_IMG_LOCATION ).getImageData();
-        
-        private final ImageData base;
-        private final Point size;
-        
-        public FixedFacetImageDescriptor( final ImageDescriptor base ) 
-        {
-            this.base = base.getImageData();
-            this.size = new Point( this.base.width, this.base.height ); 
-        }
-
-        protected void drawCompositeImage( final int width, 
-                                           final int height ) 
-        {
-            drawImage( this.base, 0, 0 );
-            drawImage( OVERLAY, 0, height - OVERLAY.height );
-        }
-
-        protected Point getSize()
-        {
-            return this.size;
-        }
-    }
-    
-    private static final class Sorter
-
-        extends ViewerSorter
-
-    {
-        public int compare( final Viewer viewer,
-                            final Object a,
-                            final Object b )
-        {
-            return getLabel( a ).compareToIgnoreCase( getLabel( b ) );
-        }
-
-        private static String getLabel( final Object obj )
-        {
-            if( obj instanceof IProjectFacet )
-            {
-                return ( (IProjectFacet) obj ).getLabel();
-            }
-            else
-            {
-                return ( (ICategory) obj ).getLabel();
-            }
-        }
-    }
-    
-    private final class FacetToolTip
-    
-        extends HeaderToolTip
-        
-    {
-        public FacetToolTip( final Control control )
-        {
-            super( control );
-        }
-        
-        @Override
-        protected final boolean shouldCreateToolTip( final Event event ) 
-        {
-            if( getShowToolTips() == false )
-            {
-                return false;
-            }
-            
-            final TreeItem treeItem = getTreeItem( event.x, event.y );
-            String description = null;
-            
-            if( treeItem != null && treeItem.getBounds( 0 ).contains( event.x, event.y ) )
-            {
-                final Object treeItemData = treeItem.getData();
-                
-                if( treeItemData instanceof IProjectFacet )
-                {
-                    description = ( (IProjectFacet) treeItemData ).getDescription();
-                }
-            }
-            
-            return ( description != null && description.trim().length() > 0 );
-        }
-
-        @Override
-        protected String getToolTipTitle( final Event event )
-        {
-            final IProjectFacet f = (IProjectFacet) getTreeItem( event.x, event.y ).getData();
-            return getSelectedVersion( f ).toString();
-        }
-
-        @Override
-        protected Composite createContentArea( final Event event,
-                                               final Composite parent )
-        {
-            final Display display = parent.getDisplay();
-            
-            final Composite composite = new Composite( parent, SWT.NONE );
-            composite.setLayout( gl( 1 ) );
-            composite.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-            
-            final Label label = new Label( composite, SWT.WRAP );
-            label.setLayoutData( gdfill() );
-            label.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-
-            final IProjectFacet f = (IProjectFacet) getTreeItem( event.x, event.y ).getData();
-            label.setText( f.getDescription() );
-            
-            return composite;
-        }
-    }
-
-    private final class CategoryToolTip
-    
-        extends HeaderToolTip
-        
-    {
-        public CategoryToolTip( final Control control )
-        {
-            super( control );
-        }
-        
-        @Override
-        protected final boolean shouldCreateToolTip( final Event event ) 
-        {
-            if( getShowToolTips() == false )
-            {
-                return false;
-            }
-            
-            final TreeItem treeItem = getTreeItem( event.x, event.y );
-            String description = null;
-            
-            if( treeItem != null && treeItem.getBounds( 0 ).contains( event.x, event.y ) )
-            {
-                final Object treeItemData = treeItem.getData();
-                
-                if( treeItemData instanceof ICategory )
-                {
-                    description = ( (ICategory) treeItemData ).getDescription();
-                }
-            }
-            
-            return ( description != null && description.trim().length() > 0 );
-        }
-    
-        @Override
-        protected String getToolTipTitle( final Event event )
-        {
-            return ( (ICategory) getTreeItem( event.x, event.y ).getData() ).getLabel();
-        }
-    
-        @Override
-        protected Composite createContentArea( final Event event,
-                                               final Composite parent )
-        {
-            final Display display = parent.getDisplay();
-            
-            final Composite composite = new Composite( parent, SWT.NONE );
-            composite.setLayout( gl( 1 ) );
-            composite.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-            
-            final Label label = new Label( composite, SWT.WRAP );
-            label.setLayoutData( gdfill() );
-            label.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-    
-            final ICategory category = (ICategory) getTreeItem( event.x, event.y ).getData();
-            label.setText( category.getDescription() );
-            
-            return composite;
-        }
-    }
-
-    private final class FixedFacetToolTip
-    
-        extends BasicToolTip
-        
-    {
-        private static final int FAKE_EVENT_TYPE = -9999;
-        
-        public FixedFacetToolTip( final Control control )
-        {
-            super( control );
-            setPopupDelay( 0 );
-        }
-        
-        public void show( final Point location )
-        {
-            // The JFace ToolTip class does not support alternative methods of tool tip activation.
-            // An enhancement request https://bugs.eclipse.org/bugs/show_bug.cgi?id=174844 tracks
-            // this issue. When that enhancement request has been resolved, this hacky 
-            // implementation should be replaced with something more sensible.
-            
-            final Event fakeEvent = new Event();
-            fakeEvent.type = FAKE_EVENT_TYPE;
-            fakeEvent.x = location.x;
-            fakeEvent.y = location.y;
-            
-            try
-            {
-                final Method method
-                    = ToolTip.class.getDeclaredMethod( "toolTipCreate", Event.class ); //$NON-NLS-1$
-                
-                method.setAccessible( true );
-                method.invoke( this, fakeEvent );
-            }
-            catch( Exception e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-        
-        @Override
-        protected final boolean shouldCreateToolTip( final Event event ) 
-        {
-            return ( event.type == FAKE_EVENT_TYPE );
-        }
-    }
-    
-    private final class ProblemsContentProvider
-
-        implements IStructuredContentProvider
-
-    {
-        public Object[] getElements( final Object element )
-        {
-            return getFilteredProblems();
-        }
-
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-        
-        public void dispose() {}
-    }
-
-    private final class ProblemsLabelProvider
-
-        implements ITableLabelProvider
-
-    {
-        public String getColumnText( final Object element,
-                                     final int column )
-        {
-            return ( (IStatus) element ).getMessage();
-        }
-
-        public Image getColumnImage( final Object element,
-                                     final int column )
-        {
-            final ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
-            final String imageType;
-            
-            if( ( (IStatus) element ).getSeverity() == IStatus.ERROR )
-            {
-                imageType = ISharedImages.IMG_OBJS_ERROR_TSK;
-            }
-            else
-            {
-                imageType = ISharedImages.IMG_OBJS_WARN_TSK;
-            }
-            
-            return sharedImages.getImage( imageType );
-        }
-
-        public boolean isLabelProperty( final Object obj,
-                                        final String s )
-        {
-            return false;
-        }
-
-        public void dispose() {}
-        public void addListener( final ILabelProviderListener listener ) {}
-        public void removeListener( ILabelProviderListener listener ) {}
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String presetsLabel;
-        public static String saveButtonLabel;
-        public static String deleteButtonLabel;
-        public static String facetColumnLabel;
-        public static String versionColumnLabel;
-        public static String couldNotDeselectFixedFacetMessage;
-        public static String detailsTabLabel;
-        public static String runtimesTabLabel;
-        public static String lockMenuItem;
-        public static String unlockMenuItem;
-        public static String changeVersionMenuItem;
-        
-        static
-        {
-            initializeMessages( FacetsSelectionPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.properties
deleted file mode 100644
index 1ec5872..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/FacetsSelectionPanel.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-presetsLabel = &Configuration:\ 
-saveButtonLabel = &Save As...
-deleteButtonLabel = &Delete
-facetColumnLabel = Project Facet
-versionColumnLabel = Version
-couldNotDeselectFixedFacetMessage = Project facet {0} cannot be deselected. It is critical to the proper function of this project.
-detailsTabLabel = De&tails
-runtimesTabLabel = &Runtimes
-lockMenuItem = &Lock
-unlockMenuItem = &Unlock
-changeVersionMenuItem = Change &Version...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java
deleted file mode 100644
index afc8f6b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.findExtensions;
-import static org.eclipse.wst.common.project.facet.core.util.internal.PluginUtil.getTopLevelElements;
-import static org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin.PLUGIN_ID;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.project.facet.core.IActionDefinition;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.ui.IFacetWizardPage;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ProjectFacetsUiManagerImpl 
-{
-    private static final String WIZARD_PAGES_EXTENSION_ID = "wizardPages"; //$NON-NLS-1$
-    private static final String WIZARD_PAGES_EXTENSION_ID_OLD = "wizard"; //$NON-NLS-1$
-    private static final String IMAGES_EXTENSION_ID = "images"; //$NON-NLS-1$
-    
-    private static final String EL_WIZARD_PAGES = "wizard-pages"; //$NON-NLS-1$
-    private static final String EL_PAGE = "page"; //$NON-NLS-1$
-    private static final String EL_IMAGE = "image"; //$NON-NLS-1$
-    private static final String ATTR_PATH = "path"; //$NON-NLS-1$
-    private static final String ATTR_RUNTIME_COMPONENT_TYPE = "runtime-component-type"; //$NON-NLS-1$
-    private static final String ATTR_CATEGORY = "category"; //$NON-NLS-1$
-    private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-    private static final String ATTR_VERSION = "version"; //$NON-NLS-1$
-    private static final String ATTR_FACET = "facet"; //$NON-NLS-1$
-    private static final String ATTR_ACTION = "action"; //$NON-NLS-1$
-
-    private static final Map<String,WizardPagesInfo> wizardPages;
-    
-    /**
-     * Maps either IProjectFacet or IRuntimeComponentType to an ImageDescriptor.
-     */
-    
-    private static final Map<Object,ImageDescriptor> icons = new HashMap<Object,ImageDescriptor>();
-    private static ImageDescriptor defaultIcon;
-    
-    static
-    {
-        // Make sure that the core extensions are loaded first.
-        
-        ProjectFacetsManager.getProjectFacets();
-        RuntimeManager.getRuntimeComponentTypes();
-        
-        wizardPages = new HashMap<String,WizardPagesInfo>();
-        
-        final Bundle bundle = Platform.getBundle( FacetUiPlugin.PLUGIN_ID );
-        final URL url = bundle.getEntry( "images/unknown.gif" ); //$NON-NLS-1$
-        defaultIcon = ImageDescriptor.createFromURL( url );
-        
-        readWizardPagesExtensions();
-        readWizardPagesExtensionsOld();
-        readImagesExtensions();
-    }
-    
-    private ProjectFacetsUiManagerImpl() {}
-    
-    public static ImageDescriptor getIcon( final Object obj )
-    {
-        final ImageDescriptor imgdesc = icons.get( obj );
-        return imgdesc != null ? imgdesc : defaultIcon;
-    }
-    
-    public static List<IFacetWizardPage> getWizardPages( final String actionId )
-    {
-        final WizardPagesInfo info = wizardPages.get( actionId );
-        
-        if( info != null )
-        {
-            return getWizardPages( info.plugin, info.pages );
-        }
-        
-        return Collections.emptyList();
-    }
-
-    /**
-     * @return (element type: {@link IFacetWizardPage})
-     * @deprecated
-     */
-    
-    @SuppressWarnings( "unchecked" )
-    public static List getWizardPages( final Action.Type actionType,
-                                       final IProjectFacetVersion fv )
-    {
-        if( fv.supports( actionType ) )
-        {
-            try
-            {
-                final IActionDefinition def = ( (ProjectFacetVersion) fv ).getActionDefinition( actionType );
-                return getWizardPages( def.getId() );
-            }
-            catch( CoreException e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-
-        return Collections.EMPTY_LIST;
-    }
-
-    private static List<IFacetWizardPage> getWizardPages( final String plugin,
-                                                          final List<String> clnames )
-    {
-        final List<IFacetWizardPage> pages = new ArrayList<IFacetWizardPage>();
-        
-        for( String clname : clnames )
-        {
-            try
-            {
-                pages.add( (IFacetWizardPage) create( plugin, clname ) );
-            }
-            catch( CoreException e )
-            {
-                FacetUiPlugin.log( e );
-            }
-        }
-        
-        return pages;
-    }
-    
-    private static Object create( final String plugin,
-                                  final String clname )
-    
-        throws CoreException
-        
-    {
-        final Bundle bundle = Platform.getBundle( plugin );
-        
-        try
-        {
-            final Class<?> cl = bundle.loadClass( clname );
-            return cl.newInstance();
-        }
-        catch( Exception e )
-        {
-            final String msg
-                = NLS.bind( Resources.failedToCreate, clname );
-            
-            final IStatus st = FacetUiPlugin.createErrorStatus( msg, e );
-            
-            throw new CoreException( st );
-        }
-    }
-    
-    private static void readWizardPagesExtensions()
-    {
-        for( IConfigurationElement config
-             : getTopLevelElements( findExtensions( PLUGIN_ID, WIZARD_PAGES_EXTENSION_ID ) ) )
-        {
-            final String ename = config.getName();
-            
-            if( ename.equals( EL_WIZARD_PAGES ) )
-            {
-                final String action = config.getAttribute( ATTR_ACTION );
-
-                if( action == null )
-                {
-                    reportMissingAttribute( config, ATTR_ACTION );
-                    return;
-                }
-                
-                final String pluginId = config.getContributor().getName();
-                
-                if( ProjectFacetsManager.isActionDefined( action ) )
-                {
-                    final WizardPagesInfo pagesInfo = new WizardPagesInfo();
-                    
-                    pagesInfo.plugin = pluginId;
-                    pagesInfo.pages = readPageList( config );
-                    
-                    wizardPages.put( action, pagesInfo );
-                }
-                else
-                {
-                    final String msg = NLS.bind( Resources.actionNotDefined, pluginId, action );
-                    FacetUiPlugin.logError( msg );
-                }
-            }
-        }
-    }
-    
-    private static void readWizardPagesExtensionsOld()
-    {
-        for( IConfigurationElement config
-            : getTopLevelElements( findExtensions( PLUGIN_ID, WIZARD_PAGES_EXTENSION_ID_OLD ) ) )
-        {
-            final String ename = config.getName();
-            
-            if( ename.equals( EL_WIZARD_PAGES ) )
-            {
-                readWizardPagesOld( config );
-            }
-        }
-    }
-    
-    @SuppressWarnings( "deprecation" )
-    private static void readWizardPagesOld( final IConfigurationElement config )
-    {
-        final String pluginId = config.getContributor().getName();
-
-        final String depMsg 
-            = NLS.bind( Resources.wizardExtensionPointDeprecated, pluginId );
-        
-        FacetUiPlugin.logWarning( depMsg, true );
-        
-        final String id = config.getAttribute( ATTR_FACET );
-
-        if( id == null )
-        {
-            reportMissingAttribute( config, ATTR_FACET );
-            return;
-        }
-        
-        if( ! ProjectFacetsManager.isProjectFacetDefined( id ) )
-        {
-            final String msg
-                = NLS.bind( Resources.facetNotDefined, 
-                            config.getContributor().getName(), id );
-            
-            FacetUiPlugin.log( msg );
-            
-            return;
-        }
-        
-        final IProjectFacet f = ProjectFacetsManager.getProjectFacet( id );
-
-        final String version = config.getAttribute( ATTR_VERSION );
-
-        if( version == null )
-        {
-            reportMissingAttribute( config, ATTR_VERSION );
-            return;
-        }
-        
-        if( ! f.hasVersion( version ) )
-        {
-            final String[] params
-                = new String[] { config.getContributor().getName(), id, 
-                                 version };
-            
-            final String msg
-                = NLS.bind( Resources.facetVersionNotDefined, 
-                            params ); 
-            
-            FacetUiPlugin.log( msg );
-            
-            return;
-        }
-        
-        final IProjectFacetVersion fv = f.getVersion( version );
-        final IConfigurationElement[] children = config.getChildren();
-        
-        for( int i = 0; i < children.length; i++ )
-        {
-            final IConfigurationElement child = children[ i ];
-            final String childName = child.getName();
-            final Action.Type actionType = Action.Type.valueOf( childName );
-            
-            if( actionType == null )
-            {
-                final String msg
-                    = NLS.bind( Resources.invalidActionType, 
-                                config.getContributor().getName(), childName );
-                
-                FacetUiPlugin.log( msg );
-                
-                return;
-            }
-            
-            if( fv.supports( actionType ) )
-            {
-                final IActionDefinition def;
-                
-                try
-                {
-                    def = ( (ProjectFacetVersion) fv ).getActionDefinition( actionType );
-                }
-                catch( CoreException e )
-                {
-                    FacetUiPlugin.log( e );
-                    return;
-                }
-                
-                final WizardPagesInfo pagesInfo = new WizardPagesInfo();
-                
-                pagesInfo.plugin = pluginId;
-                pagesInfo.pages = readPageList( child );
-                
-                wizardPages.put( def.getId(), pagesInfo );
-            }
-        }
-    }
-
-    private static List<String> readPageList( final IConfigurationElement config )
-    {
-        final List<String> list = new ArrayList<String>();
-        final IConfigurationElement[] children = config.getChildren();
-        
-        for( int i = 0; i < children.length; i++ )
-        {
-            final IConfigurationElement child = children[ i ];
-            final String childName = child.getName();
-            
-            if( childName.equals( EL_PAGE ) )
-            {
-                final String clname = child.getAttribute( ATTR_CLASS );
-                
-                if( clname == null )
-                {
-                    reportMissingAttribute( config, ATTR_CLASS );
-                    continue;
-                }
-                
-                list.add( clname );
-            }
-        }
-        
-        return list;
-    }
-    
-    private static void readImagesExtensions()
-    {
-        for( IConfigurationElement config
-            : getTopLevelElements( findExtensions( PLUGIN_ID, IMAGES_EXTENSION_ID ) ) )
-        {
-            final String ename = config.getName();
-            
-            if( ename.equals( EL_IMAGE ) )
-            {
-                final String fid = config.getAttribute( ATTR_FACET );
-                final String cid = config.getAttribute( ATTR_CATEGORY );
-                final String rct = config.getAttribute( ATTR_RUNTIME_COMPONENT_TYPE );
-                
-                final Set<Object> targets = new HashSet<Object>();
-                
-                if( fid != null )
-                {
-                    if( ! ProjectFacetsManager.isProjectFacetDefined( fid ) )
-                    {
-                        final String msg
-                            = NLS.bind( Resources.facetNotDefined, 
-                                        config.getContributor().getName(), fid );
-                        
-                        FacetUiPlugin.log( msg );
-                        
-                        break;
-                    }
-                    
-                    targets.add( ProjectFacetsManager.getProjectFacet( fid ) );
-                }
-                else if( cid != null )
-                {
-                    if( ! ProjectFacetsManager.isCategoryDefined( cid ) )
-                    {
-                        final String msg
-                            = NLS.bind( Resources.categoryNotDefined, 
-                                        config.getContributor().getName(), fid );
-                        
-                        FacetUiPlugin.log( msg );
-                        
-                        break;
-                    }
-                    
-                    targets.add( ProjectFacetsManager.getCategory( cid ) );
-                }
-                else if( rct != null )
-                {
-                    if( ! RuntimeManager.isRuntimeComponentTypeDefined( rct ) )
-                    {
-                        final String msg
-                            = NLS.bind( Resources.runtimeComponentTypeNotDefined, 
-                                        config.getContributor().getName(), rct );
-                        
-                        FacetUiPlugin.log( msg );
-                        
-                        break;
-                    }
-                    
-                    final IRuntimeComponentType type = RuntimeManager.getRuntimeComponentType( rct );
-                    final String vexpr = config.getAttribute( ATTR_VERSION );
-                    
-                    if( vexpr == null )
-                    {
-                        targets.addAll( type.getVersions() );
-                    }
-                    else
-                    {
-                        try
-                        {
-                            targets.addAll( type.getVersions( vexpr ) );
-                        }
-                        catch( Exception e )
-                        {
-                            FacetUiPlugin.log( e );
-                        }
-                    }
-                }
-                else
-                {
-                    reportMissingAttribute( config, ATTR_FACET );
-                    break;
-                }
-                
-                final String path = config.getAttribute( ATTR_PATH );
-                
-                if( path == null )
-                {
-                    reportMissingAttribute( config, ATTR_PATH );
-                }
-                        
-                final String plugin = config.getContributor().getName();
-                final Bundle bundle = Platform.getBundle( plugin );
-                final URL url = FileLocator.find( bundle, new Path( path ), null );
-                
-                if( url == null )
-                {
-                    final String msg
-                        = NLS.bind( Resources.iconNotFound, plugin, path );
-                    
-                    FacetUiPlugin.log( msg );
-                }
-                else
-                {
-                    final ImageDescriptor imgdesc
-                        = ImageDescriptor.createFromURL( url );
-                    
-                    for( Object target : targets )
-                    {
-                        icons.put( target, imgdesc );
-                    }
-                }
-            }
-        }
-    }
-    
-    private static void reportMissingAttribute( final IConfigurationElement el,
-                                                final String attribute )
-    {
-        final String[] params 
-            = new String[] { el.getContributor().getName(), el.getName(), 
-                             attribute };
-        
-        final String msg = NLS.bind( Resources.missingAttribute, params ); 
-    
-        FacetUiPlugin.log( msg );
-    }
-    
-    private static class WizardPagesInfo
-    {
-        public String plugin;
-        public List<String> pages;
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String missingAttribute;
-        public static String facetNotDefined;
-        public static String facetVersionNotDefined;
-        public static String categoryNotDefined;
-        public static String runtimeComponentTypeNotDefined;
-        public static String failedToCreate;
-        public static String invalidActionType;
-        public static String iconNotFound;
-        public static String wizardExtensionPointDeprecated;
-        public static String actionNotDefined;
-        
-        static
-        {
-            initializeMessages( ProjectFacetsUiManagerImpl.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.properties
deleted file mode 100644
index 3186453..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/ProjectFacetsUiManagerImpl.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-missingAttribute = An extension element <{1}> in plugin {0} is missing a required attribute {2}.
-facetNotDefined = Project facet {1} has not been defined. It is used in plugin {0}.
-facetVersionNotDefined = Version {2} of project facet {1} has not been defined. It is used in plugin {0}.
-categoryNotDefined = Category {1} has not been defined. It is used in plugin {0}.
-runtimeComponentTypeNotDefined = Runtime component type {1} has not been defined. It is used in plugin {0}.
-failedToCreate = Failed to instantiate class {0}.
-invalidActionType = "{1}" is an invalid action type. It is used in plugin {0}.
-iconNotFound = Could not load icon "{1}" from plugin {0}.
-
-wizardExtensionPointDeprecated = \
-Extension point org.eclipse.wst.common.project.facet.ui.wizard is deprecated. \
-It is used in plugin {0}. \
-Extension point org.eclipse.wst.common.project.facet.ui.wizardPages provides \
-analogous functionality.
-
-actionNotDefined = Project facet action "{1}" has not been defined. It is used in plugin {0}.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimeDecorationsProvider.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimeDecorationsProvider.java
deleted file mode 100644
index fe2f74e..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimeDecorationsProvider.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.ui.IDecorationsProvider;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class RuntimeDecorationsProvider
-
-    implements IDecorationsProvider
-    
-{
-    private static final ImageDescriptor DEFAULT_RUNTIME_IMAGE
-        = FacetUiPlugin.getImageDescriptor( "images/default-runtime-image.gif" ); //$NON-NLS-1$
-    
-    private final IRuntime runtime;
-    
-    public RuntimeDecorationsProvider( final IRuntime runtime )
-    {
-        this.runtime = runtime;
-    }
-    
-    public ImageDescriptor getIcon()
-    {
-        if( this.runtime.getRuntimeComponents().size() > 0 )
-        {
-            final IRuntimeComponent rc = this.runtime.getRuntimeComponents().get( 0 );
-            final IRuntimeComponentVersion rcv = rc.getRuntimeComponentVersion();
-            
-            final IDecorationsProvider rcvDecorationsProvider 
-                = (IDecorationsProvider) rcv.getAdapter( IDecorationsProvider.class );
-            
-            return rcvDecorationsProvider.getIcon();
-        }
-        else
-        {
-            return DEFAULT_RUNTIME_IMAGE;
-        }
-    }
-    
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class<?>[] ADAPTER_TYPES = { IDecorationsProvider.class };
-        
-        public Object getAdapter( final Object adaptable, 
-                                  final Class adapterType )
-        {
-            if( adapterType == IDecorationsProvider.class )
-            {
-                return new RuntimeDecorationsProvider( (IRuntime) adaptable );
-            }
-            else
-            {
-                return null;
-            }
-        }
-    
-        public Class<?>[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java
deleted file mode 100644
index b4ecb53..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.java
+++ /dev/null
@@ -1,1105 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhalign;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleEvent;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IRuntimeLifecycleListener;
-import org.eclipse.wst.common.project.facet.core.runtime.events.IValidationStatusChangedEvent;
-import org.eclipse.wst.common.project.facet.core.runtime.internal.UnknownRuntime;
-import org.eclipse.wst.common.project.facet.ui.IDecorationsProvider;
-import org.eclipse.wst.common.project.facet.ui.IRuntimeComponentLabelProvider;
-import org.eclipse.wst.common.project.facet.ui.internal.util.BasicToolTip;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class RuntimesPanel
-
-    extends Composite
-
-{
-    private static final Object NO_RUNTIME_SELECTED_PLACEHOLDER = new Object();
-    
-    private final IFacetedProjectWorkingCopy fpjwc;
-    private boolean showAllRuntimesSetting;
-    private final CheckboxTableViewer runtimes;
-    private final Button showAllRuntimesCheckbox;
-    private final Button makePrimaryButton;
-    private final Button newRuntimeButton;
-    private final Label runtimeComponentsLabel;
-    private final TableViewer runtimeComponents;
-    private IRuntime currentPrimaryRuntime;
-    private final List<IFacetedProjectListener> listeners;
-    private Color colorGray;
-    private final RuntimeValidationAssistant runtimeValidationAssistant;
-    
-    public RuntimesPanel( final Composite parent,
-                          final IFacetedProjectWorkingCopy fpjwc )
-    {
-        super( parent, SWT.NONE );
-        
-        this.listeners = new ArrayList<IFacetedProjectListener>();
-        
-        addDisposeListener
-        ( 
-            new DisposeListener()
-            {
-                public void widgetDisposed( final DisposeEvent e )
-                {
-                    handleWidgetDisposed();
-                }
-            }
-        );
-        
-        // Setup runtime validation assistant.
-        
-        this.runtimeValidationAssistant = new RuntimeValidationAssistant();
-       
-        // Bind to the data model.
-        
-        this.fpjwc = fpjwc;
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleAvailableRuntimesChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.AVAILABLE_RUNTIMES_CHANGED
-        );
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleTargetableRuntimesChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.TARGETABLE_RUNTIMES_CHANGED
-        );
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleTargetedRuntimesChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.TARGETED_RUNTIMES_CHANGED
-        );
-        
-        addDataModelListener
-        ( 
-            new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handlePrimaryRuntimeChanged();
-                }
-            },
-            IFacetedProjectEvent.Type.PRIMARY_RUNTIME_CHANGED
-        );
-        
-        this.showAllRuntimesSetting = false;
-
-        // Initialize the colors.
-        
-        this.colorGray = new Color( null, 160, 160, 164 );
-
-        // Layout the panel.
-        
-        final GridLayout layout = new GridLayout( 1, false );
-        layout.marginHeight = 5;
-        layout.marginWidth = 5;
-
-        setLayout( layout );
-
-        this.runtimes = CheckboxTableViewer.newCheckList( this, SWT.BORDER );
-        this.runtimes.getTable().setLayoutData( gdfill() );
-        this.runtimes.setContentProvider( new ContentProvider() );
-        this.runtimes.setLabelProvider( new LabelProvider() );
-        this.runtimes.setSorter( new Sorter() );
-        this.runtimes.setInput( new Object() );
-        
-        new ValidationProblemToolTip( this.runtimes.getTable() );
-        
-        this.runtimes.addSelectionChangedListener
-        (
-            new ISelectionChangedListener()
-            {
-                public void selectionChanged( final SelectionChangedEvent e )
-                {
-                    handleRuntimeSelectionChanged();
-                }
-            }
-        );
-        
-        this.runtimes.addCheckStateListener
-        (
-            new ICheckStateListener()
-            {
-                public void checkStateChanged( final CheckStateChangedEvent e )
-                {
-                    handleCheckStateChanged( e );
-                }
-            }
-        );
-        
-        this.showAllRuntimesCheckbox = new Button( this, SWT.CHECK );
-        this.showAllRuntimesCheckbox.setText( Resources.showAllRuntimes );
-        this.showAllRuntimesCheckbox.setSelection( this.showAllRuntimesSetting );
-        
-        this.showAllRuntimesCheckbox.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleShowAllRuntimesSelected();
-                }
-            }
-        );
-        
-        final Composite buttons = new Composite( this, SWT.NONE );
-        buttons.setLayoutData( gdhalign( gd(), GridData.END ) );
-        buttons.setLayout( glmargins( gl( 2 ), 0, 0 ) );
-        
-        this.makePrimaryButton = new Button( buttons, SWT.PUSH );
-        this.makePrimaryButton.setText( Resources.makePrimaryLabel );
-        this.makePrimaryButton.setEnabled( false );
-        GridDataFactory.defaultsFor( this.makePrimaryButton ).applyTo( this.makePrimaryButton );
-        
-        this.makePrimaryButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleMakePrimarySelected();
-                }
-            }
-        );
-        
-        this.newRuntimeButton = new Button( buttons, SWT.PUSH );
-        this.newRuntimeButton.setText( Resources.newRuntimeButtonLabel );
-        GridDataFactory.defaultsFor( this.newRuntimeButton ).applyTo( this.newRuntimeButton );
-
-        this.newRuntimeButton.addSelectionListener
-        (
-            new SelectionAdapter()
-            {
-                public void widgetSelected( final SelectionEvent e )
-                {
-                    handleNewRuntimeButtonSelected();
-                }
-            }
-        );
-        
-        this.runtimeComponentsLabel = new Label( this, SWT.NONE );
-        this.runtimeComponentsLabel.setText( Resources.runtimeCompositionLabel );
-        this.runtimeComponentsLabel.setLayoutData( gdhfill() );
-        
-        final Color infoBackgroundColor
-            = parent.getDisplay().getSystemColor( SWT.COLOR_INFO_BACKGROUND );
-        
-        final Color infoForegroundColor
-            = parent.getDisplay().getSystemColor( SWT.COLOR_INFO_FOREGROUND );
-        
-        this.runtimeComponents = new TableViewer( this, SWT.BORDER );
-        this.runtimeComponents.getTable().setLayoutData( gdhhint( gdhfill(), 50 ) );
-        this.runtimeComponents.getTable().setBackground( infoBackgroundColor );
-        this.runtimeComponents.getTable().setForeground( infoForegroundColor );
-        this.runtimeComponents.setContentProvider( new RuntimeComponentsContentProvider() );
-        this.runtimeComponents.setLabelProvider( new RuntimeComponentsLabelProvider() );
-        
-        this.runtimeComponents.setInput( NO_RUNTIME_SELECTED_PLACEHOLDER );
-        this.runtimeComponents.getTable().setEnabled( false );
-        this.runtimeComponentsLabel.setEnabled( false );
-        
-        refresh();
-        this.currentPrimaryRuntime = this.fpjwc.getPrimaryRuntime();
-        
-	    Dialog.applyDialogFont( parent );
-    }
-    
-    public IFacetedProjectWorkingCopy getFacetedProjectWorkingCopy()
-    {
-        return this.fpjwc;
-    }
-    
-    private void handleAvailableRuntimesChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleAvailableRuntimesChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        if( this.showAllRuntimesSetting )
-        {
-            refresh();
-        }
-    }
-    
-    private void handleTargetableRuntimesChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleTargetableRuntimesChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        refresh();
-    }
-    
-    private void handleTargetedRuntimesChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handleTargetedRuntimesChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        final Set<IRuntime> targeted = this.fpjwc.getTargetedRuntimes();
-        
-        for( IRuntime r : this.fpjwc.getTargetableRuntimes() )
-        {
-            if( targeted.contains( r ) )
-            {
-                if( ! this.runtimes.getChecked( r ) )
-                {
-                    this.runtimes.setChecked( r, true );
-                }
-            }
-            else
-            {
-                if( this.runtimes.getChecked( r ) )
-                {
-                    this.runtimes.setChecked( r, false );
-                }
-            }
-        }
-    }
-    
-    private void handlePrimaryRuntimeChanged()
-    {
-        if( ! Thread.currentThread().equals( getDisplay().getThread() ) )
-        {
-            getDisplay().asyncExec
-            ( 
-                new Runnable()
-                {
-                    public void run()
-                    {
-                        handlePrimaryRuntimeChanged();
-                    }
-                }
-            );
-            
-            return;
-        }
-        
-        if( this.currentPrimaryRuntime != null )
-        {
-            this.runtimes.update( this.currentPrimaryRuntime, null );
-        }
-        
-        this.currentPrimaryRuntime = this.fpjwc.getPrimaryRuntime();
-        
-        if( this.currentPrimaryRuntime != null )
-        {
-            this.runtimes.update( this.currentPrimaryRuntime, null );
-        }
-    }
-    
-    private void handleCheckStateChanged( final CheckStateChangedEvent e )
-    {
-        final IRuntime runtime = (IRuntime) e.getElement();
-        
-        if( ! getFacetedProjectWorkingCopy().getTargetableRuntimes().contains( runtime ) &&
-            ! ( runtime instanceof UnknownRuntime ) && e.getChecked() )
-        {
-            this.runtimes.setChecked( runtime, false );
-            return;
-        }
-        
-        if( e.getChecked() )
-        {
-            this.fpjwc.addTargetedRuntime( runtime );
-        }
-        else
-        {
-            this.fpjwc.removeTargetedRuntime( runtime );
-        }
-    }
-    
-    private void handleRuntimeSelectionChanged()
-    {
-        final IRuntime r = getSelection();
-        
-        if( r == null )
-        {
-            if( this.runtimeComponents.getInput() != null )
-            {
-                this.runtimeComponentsLabel.setEnabled( false );
-                this.runtimeComponents.getTable().setEnabled( false );
-                this.runtimeComponents.setInput( NO_RUNTIME_SELECTED_PLACEHOLDER );
-            }
-        }
-        else
-        {
-            if( this.runtimeComponents.getInput() == null ||
-                ! this.runtimeComponents.getInput().equals( r ) )
-            {
-                this.runtimeComponentsLabel.setEnabled( true );
-                this.runtimeComponents.getTable().setEnabled( true );
-                this.runtimeComponents.setInput( r );
-            }
-            
-            if( this.runtimes.getChecked( r ) && 
-                this.fpjwc.getPrimaryRuntime() != null && 
-                ! this.fpjwc.getPrimaryRuntime().equals( r ) &&
-                ( this.fpjwc.getTargetableRuntimes().contains( r ) || r instanceof UnknownRuntime ) )
-            {
-                this.makePrimaryButton.setEnabled( true );
-            }
-            else
-            {
-                this.makePrimaryButton.setEnabled( false );
-            }
-        }
-    }
-    
-    private void handleShowAllRuntimesSelected()
-    {
-        this.showAllRuntimesSetting 
-            = this.showAllRuntimesCheckbox.getSelection();
-        
-        refresh();
-    }
-    
-    private void handleMakePrimarySelected()
-    {
-        this.fpjwc.setPrimaryRuntime( getSelection() );
-    }
-    
-    @SuppressWarnings( "unchecked" )
-    private void handleNewRuntimeButtonSelected()
-    {
-        final String SERVER_UI_PLUGIN_ID = "org.eclipse.wst.server.ui"; //$NON-NLS-1$
-        final String CLASS_NAME = "org.eclipse.wst.server.ui.internal.ServerUIPlugin"; //$NON-NLS-1$
-        final String METHOD_NAME = "showNewRuntimeWizard"; //$NON-NLS-1$
-        
-        final Bundle serverUiBundle = Platform.getBundle( SERVER_UI_PLUGIN_ID );
-        
-        if( serverUiBundle == null )
-        {
-            this.newRuntimeButton.setEnabled( false );
-            return;
-        }
-
-        try
-        {
-            final Class serverUiPluginClass = serverUiBundle.loadClass( CLASS_NAME );
-            
-            final Method method
-                = serverUiPluginClass.getMethod( METHOD_NAME, Shell.class, String.class );
-            
-            final Object result = method.invoke( null, getShell(), null );
-            
-            if( result.equals( true ) )
-            {
-                final Thread refreshThread = new Thread()
-                {
-                    public void run()
-                    {
-                        getFacetedProjectWorkingCopy().refreshTargetableRuntimes();
-                    }
-                };
-                
-                refreshThread.start();
-            }
-        }
-        catch( Exception e )
-        {
-            FacetUiPlugin.log( e );
-        }
-    }
-
-    private void handleWidgetDisposed()
-    {
-        removeDataModelListeners();
-        this.colorGray.dispose();
-        this.runtimeValidationAssistant.dispose();
-    }
-    
-    private void handleRuntimeValidationResultChanged()
-    {
-        final Runnable uiRunnable = new Runnable()
-        {
-            public void run()
-            {
-                for( TableItem item : RuntimesPanel.this.runtimes.getTable().getItems() )
-                {
-                    RuntimesPanel.this.runtimes.update( item.getData(), null );
-                }
-            }
-        };
-        
-        getDisplay().syncExec( uiRunnable );
-    }
-    
-    private void refresh()
-    {
-        this.runtimes.refresh();
-
-        final Set<IRuntime> untargetable = new HashSet<IRuntime>( RuntimeManager.getRuntimes() );
-        untargetable.removeAll( this.fpjwc.getTargetableRuntimes() );
-        
-        this.runtimes.setCheckedElements( this.fpjwc.getTargetedRuntimes().toArray() );
-    }
-    
-    private IRuntime getSelection()
-    {
-        final IStructuredSelection ssel 
-            = (IStructuredSelection) this.runtimes.getSelection();
-        
-        if( ssel.isEmpty() )
-        {
-            return null;
-        }
-        else
-        {
-            return (IRuntime) ssel.getFirstElement();
-        }
-    }
-    
-    private void addDataModelListener( final IFacetedProjectListener listener,
-                                       final IFacetedProjectEvent.Type... types )
-    {
-        this.fpjwc.addListener( listener, types );
-        this.listeners.add( listener );
-    }
-    
-    private void removeDataModelListeners()
-    {
-        for( IFacetedProjectListener listener : this.listeners )
-        {
-            this.fpjwc.removeListener( listener );
-        }
-    }
-    
-    private TableItem getTableItem( final int x,
-                                    final int y )
-    {
-        for( TableItem item : this.runtimes.getTable().getItems() )
-        {
-            if( item.getBounds().contains( x, y ) )
-            {
-                return item;
-            }
-        }
-        
-        return null;
-    }
-    
-    private RuntimeValidationAssistant getRuntimeValidationAssistant()
-    {
-        return this.runtimeValidationAssistant;
-    }
-    
-    private final class ContentProvider
-
-        implements IStructuredContentProvider
-    
-    {
-        public Object[] getElements( final Object element )
-        {
-            final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
-            final ArrayList<IRuntime> runtimes = new ArrayList<IRuntime>();
-            
-            if( RuntimesPanel.this.showAllRuntimesSetting )
-            {
-                runtimes.addAll( RuntimeManager.getRuntimes() );
-            }
-            else
-            {
-                runtimes.addAll( fpjwc.getTargetableRuntimes() );
-            }
-            
-            final IFacetedProject fpj = fpjwc.getFacetedProject();
-            
-            if( fpj != null )
-            {
-                for( IRuntime runtime : fpj.getTargetedRuntimes() )
-                {
-                    if( runtime instanceof UnknownRuntime )
-                    {
-                        runtimes.add( runtime );
-                    }
-                }
-            }
-            
-            return runtimes.toArray();
-        }
-    
-        public void dispose() { }
-    
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-    }
-    
-    private final class LabelProvider
-
-        implements ILabelProvider, IColorProvider
-    
-    {
-        private final ImageRegistry imageRegistry;
-        
-        public LabelProvider()
-        {
-            this.imageRegistry = new ImageRegistry();
-        }
-        
-        public String getText( final Object element )
-        {
-            return ( (IRuntime) element ).getLocalizedName();
-        }
-        
-        private String getImageRegistryKey( final IRuntime runtime,
-                                            final boolean isPrimary,
-                                            final IStatus validationResult )
-        {
-            final StringBuilder buf = new StringBuilder();
-            
-            buf.append( runtime.getName() );
-            
-            if( isPrimary )
-            {
-                buf.append( ",##primary##" ); //$NON-NLS-1$
-            }
-            
-            if( validationResult != null && validationResult.getSeverity() == IStatus.ERROR )
-            {
-                buf.append( ",##error##" ); //$NON-NLS-1$
-            }
-            
-            return buf.toString();
-        }
-
-        public Image getImage( final Object element )
-        {
-            final IRuntime r = (IRuntime) element;
-            final IRuntime primary = getFacetedProjectWorkingCopy().getPrimaryRuntime();
-            final boolean isPrimary = primary != null && primary.equals( r );
-            final IStatus valResult = getRuntimeValidationAssistant().getValidationResult( r );
-            final String imgid = getImageRegistryKey( r, isPrimary, valResult );
-            
-            Image image = this.imageRegistry.get( imgid );
-            
-            if( image == null )
-            {
-                final IDecorationsProvider decprov
-                    = (IDecorationsProvider) r.getAdapter( IDecorationsProvider.class );
-
-                final ImageDescriptor imgdesc
-                    = new DecoratedRuntimeImageDescriptor( decprov.getIcon(), isPrimary, valResult );
-                
-                this.imageRegistry.put( imgid, imgdesc );
-                image = this.imageRegistry.get( imgid );
-            }
-
-            if( RuntimesPanel.this.fpjwc.getTargetedRuntimes().contains( r ) )
-            {
-                RuntimesPanel.this.runtimes.setChecked( r, true );
-            }
-            else
-            {
-                RuntimesPanel.this.runtimes.setChecked( r, false );
-            }
-            
-            if( ! getFacetedProjectWorkingCopy().getTargetableRuntimes().contains( r ) &&
-                ! ( r instanceof UnknownRuntime ) )
-            {
-                final String greyedId = r.getName() + "##greyed##"; //$NON-NLS-1$
-                Image greyed = this.imageRegistry.get( greyedId );
-                
-                if( greyed == null )
-                {
-                    greyed = new Image( null, image, SWT.IMAGE_GRAY );
-                    this.imageRegistry.put( greyedId, greyed );
-                }
-                
-                image = greyed;
-            }
-            
-            return image;
-        }
-        
-        public Color getForeground( final Object element )
-        {
-            if( ! getFacetedProjectWorkingCopy().getTargetableRuntimes().contains( element ) &&
-                ! ( element instanceof UnknownRuntime ) )
-            {
-                return RuntimesPanel.this.colorGray;
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        public Color getBackground( final Object element )
-        {
-            return null;
-        }
-
-        public void dispose()
-        {
-            this.imageRegistry.dispose();
-        }
-
-        public boolean isLabelProperty( final Object element, 
-                                        final String property )
-        {
-            return false;
-        }
-
-        public void addListener( final ILabelProviderListener listener ) {}
-        public void removeListener( final ILabelProviderListener listener ) {}
-    }
-
-    private final class Sorter
-
-        extends ViewerSorter
-    
-    {
-        public int compare( final Viewer viewer,
-                            final Object a,
-                            final Object b )
-        {
-            final IRuntime r1 = (IRuntime) a;
-            final IRuntime r2 = (IRuntime) b;
-            
-            return r1.getLocalizedName().compareToIgnoreCase( r2.getLocalizedName() );
-        }
-    }
-    
-    private final class RuntimeComponentsContentProvider
-
-        implements IStructuredContentProvider
-    
-    {
-        public Object[] getElements( final Object element )
-        {
-            if( element == NO_RUNTIME_SELECTED_PLACEHOLDER )
-            {
-                return new Object[] { NO_RUNTIME_SELECTED_PLACEHOLDER };
-            }
-            else
-            {
-                final IRuntime r = (IRuntime) element;
-                return r.getRuntimeComponents().toArray();
-            }
-        }
-    
-        public void dispose() { }
-    
-        public void inputChanged( final Viewer viewer,
-                                  final Object oldObject,
-                                  final Object newObject ) {}
-    }
-    
-    private final class RuntimeComponentsLabelProvider
-
-        implements ILabelProvider
-    
-    {
-        private final ImageRegistry imageRegistry = new ImageRegistry();
-        
-        public String getText( final Object element )
-        {
-            if( element == NO_RUNTIME_SELECTED_PLACEHOLDER )
-            {
-                return Resources.noRuntimeSelectedLabel;
-            }
-            
-            final IRuntimeComponent comp = (IRuntimeComponent) element;
-            
-            final IRuntimeComponentLabelProvider provider
-                = (IRuntimeComponentLabelProvider) comp.getAdapter( IRuntimeComponentLabelProvider.class );
-            
-            if( provider == null )
-            {
-                final StringBuffer label = new StringBuffer();
-                label.append( comp.getRuntimeComponentType().getId() );
-                label.append( ' ' );
-                label.append( comp.getRuntimeComponentVersion().getVersionString() );
-                
-                return label.toString();
-            }
-            else
-            {
-                return provider.getLabel();
-            }
-        }
-
-        public Image getImage( final Object element )
-        {
-            if( element == NO_RUNTIME_SELECTED_PLACEHOLDER )
-            {
-                return null;
-            }
-
-            final IRuntimeComponent rc = (IRuntimeComponent) element;
-            final IRuntimeComponentType rct = rc.getRuntimeComponentType();
-            final IRuntimeComponentVersion rcv = rc.getRuntimeComponentVersion();
-            
-            final String key = rct.getId() + ":" + rcv.getVersionString(); //$NON-NLS-1$
-            Image image = this.imageRegistry.get( key );
-            
-            if( image == null )
-            {
-                final IDecorationsProvider decprov
-                    = (IDecorationsProvider) rcv.getAdapter( IDecorationsProvider.class );
-                
-                this.imageRegistry.put( key, decprov.getIcon() );
-                image = this.imageRegistry.get( key );
-            }
-
-            return image;
-        }
-        
-        public void dispose()
-        {
-            this.imageRegistry.dispose();
-        }
-
-        public boolean isLabelProperty( final Object element, 
-                                        final String property )
-        {
-            return false;
-        }
-
-        public void addListener( final ILabelProviderListener listener ) {}
-        public void removeListener( final ILabelProviderListener listener ) {}
-    }
-    
-    private static final class DecoratedRuntimeImageDescriptor 
-    
-        extends CompositeImageDescriptor 
-        
-    {
-        private static final String PRIMARY_RUNTIME_OVERLAY_IMG_LOCATION
-            = "images/primary-runtime-overlay.gif"; //$NON-NLS-1$
-        
-        private static final ImageData PRIMARY_RUNTIME_OVERLAY
-            = FacetUiPlugin.getImageDescriptor( PRIMARY_RUNTIME_OVERLAY_IMG_LOCATION ).getImageData();
-        
-        private static final String ERROR_OVERLAY_IMG_LOCATION
-            = "images/error-overlay.gif"; //$NON-NLS-1$
-        
-        private static final ImageData ERROR_OVERLAY
-            = FacetUiPlugin.getImageDescriptor( ERROR_OVERLAY_IMG_LOCATION ).getImageData();
-
-        private static final String WARNING_OVERLAY_IMG_LOCATION
-            = "images/warning-overlay.gif"; //$NON-NLS-1$
-        
-        private static final ImageData WARNING_OVERLAY
-            = FacetUiPlugin.getImageDescriptor( WARNING_OVERLAY_IMG_LOCATION ).getImageData();
-    
-        private final ImageData base;
-        private final Point size;
-        private boolean isPrimary;
-        private IStatus valResult;
-        
-        public DecoratedRuntimeImageDescriptor( final ImageDescriptor base,
-                                                final boolean isPrimary,
-                                                final IStatus valResult ) 
-        {
-            this.base = base.getImageData();
-            this.size = new Point( this.base.width, this.base.height );
-            this.isPrimary = isPrimary;
-            this.valResult = valResult;
-        }
-    
-        protected void drawCompositeImage( final int width, 
-                                           final int height ) 
-        {
-            drawImage( this.base, 0, 0 );
-            
-            if( this.isPrimary )
-            {
-                drawImage( PRIMARY_RUNTIME_OVERLAY, width - PRIMARY_RUNTIME_OVERLAY.width, 
-                           height - PRIMARY_RUNTIME_OVERLAY.height );
-            }
-            
-            if( this.valResult != null && ! this.valResult.isOK() )
-            {
-                final ImageData valOverlay
-                    = this.valResult.getSeverity() == IStatus.ERROR 
-                      ? ERROR_OVERLAY : WARNING_OVERLAY;
-                
-                drawImage( valOverlay, 0, height - valOverlay.height );
-            }
-        }
-    
-        protected Point getSize()
-        {
-            return this.size;
-        }
-    }
-    
-    private final class ValidationProblemToolTip
-    
-        extends BasicToolTip
-        
-    {
-        public ValidationProblemToolTip( final Control control )
-        {
-            super( control );
-        }
-        
-        @Override
-        protected Composite createToolTipContentArea( final Event event,
-                                                      final Composite parent )
-        {
-            final IStatus validationResult = getValidationResult( event );
-            setMessage( validationResult.getMessage() );
-            return super.createToolTipContentArea( event, parent );
-        }
-        
-        @Override
-        protected boolean shouldCreateToolTip( final Event event ) 
-        {
-            return ! getValidationResult( event ).isOK();
-        }
-        
-        private IRuntime getRuntime( final Event event )
-        {
-            final TableItem item = getTableItem( event.x, event.y );
-            return item != null ? (IRuntime) item.getData() : null;
-        }
-        
-        private IStatus getValidationResult( final Event event )
-        {
-            final IRuntime runtime = getRuntime( event );
-            IStatus result = null;
-            
-            if( runtime != null )
-            {
-                result = RuntimesPanel.this.runtimeValidationAssistant.getValidationResult( runtime );
-            }
-            
-            if( result == null )
-            {
-                result = Status.OK_STATUS;
-            }
-            
-            return result;
-        }
-    }
-    
-    private final class RuntimeValidationAssistant
-    {
-        private final Map<String,IStatus> validationResults;
-        private final IRuntimeLifecycleListener runtimeLifecycleListener;
-        
-        public RuntimeValidationAssistant()
-        {
-            this.validationResults = new HashMap<String,IStatus>();
-            
-            this.runtimeLifecycleListener = new IRuntimeLifecycleListener()
-            {
-                public void handleEvent( final IRuntimeLifecycleEvent event )
-                {
-                    final IValidationStatusChangedEvent evt = (IValidationStatusChangedEvent) event;
-                    setValidationResult( evt.getRuntime(), evt.getNewValidationStatus() );
-                    handleRuntimeValidationResultChanged();
-                }
-            };
-            
-            final Thread initialValidationThread = new Thread()
-            {
-                public void run()
-                {
-                    for( IRuntime runtime : RuntimeManager.getRuntimes() )
-                    {
-                        final IStatus result = runtime.validate( new NullProgressMonitor() );
-                        
-                        synchronized( RuntimeValidationAssistant.this.validationResults )
-                        {
-                            if( getValidationResult( runtime ) == null )
-                            {
-                                setValidationResult( runtime, result );
-                            }
-                        }
-                    }
-                    
-                    RuntimeManager.addListener( RuntimeValidationAssistant.this.runtimeLifecycleListener, 
-                                                IRuntimeLifecycleEvent.Type.VALIDATION_STATUS_CHANGED );
-                    
-                    handleRuntimeValidationResultChanged();
-                }
-            };
-            
-            initialValidationThread.start();
-        }
-        
-        public IStatus getValidationResult( final IRuntime runtime )
-        {
-            synchronized( this.validationResults )
-            {
-                return this.validationResults.get( runtime.getName() );
-            }
-        }
-        
-        private void setValidationResult( final IRuntime runtime,
-                                          final IStatus validationResult )
-        {
-            synchronized( this.validationResults )
-            {
-                this.validationResults.put( runtime.getName(), validationResult );
-            }
-        }
-        
-        public void dispose()
-        {
-            RuntimeManager.removeListener( this.runtimeLifecycleListener );
-        }
-    }
-
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String runtimeCompositionLabel;
-        public static String makePrimaryLabel;
-        public static String newRuntimeButtonLabel;
-        public static String showAllRuntimes;
-        public static String noRuntimeSelectedLabel;
-        
-        static
-        {
-            initializeMessages( RuntimesPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.properties
deleted file mode 100644
index 0aa255d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPanel.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-runtimeCompositionLabel = R&untime composition:
-makePrimaryLabel = &Make Primary
-newRuntimeButtonLabel = N&ew...
-showAllRuntimes = Show &all runtimes
-noRuntimeSelectedLabel = <no runtime selected>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.java
deleted file mode 100644
index 58af754..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class RuntimesPropertyPage extends PropertyPage 
-{
-    private IFacetedProject project;
-    private IFacetedProjectListener projectListener;
-    private IFacetedProjectWorkingCopy fpjwc;
-    private RuntimesPanel panel;
-    
-    protected Control createContents( final Composite parent ) 
-    {
-        final IAdaptable element = getElement();
-
-        if( element instanceof IProject )
-        {
-            final IProject project = (IProject) element;
-            
-            try 
-            {
-                this.project = ProjectFacetsManager.create( project );
-            }
-            catch( CoreException e ) {}
-            
-            if( this.project == null )
-            {
-                return null;
-            }
-            
-            this.fpjwc = SharedWorkingCopyManager.getWorkingCopy( this.project );
-            
-            this.projectListener = new IFacetedProjectListener()
-            {
-                public void handleEvent( final IFacetedProjectEvent event )
-                {
-                    handleProjectChangedEvent();
-                }
-            };
-            
-            this.project.addListener( this.projectListener, 
-                                      IFacetedProjectEvent.Type.PROJECT_MODIFIED );
-            
-            final Composite composite = new Composite( parent, SWT.NONE );
-            composite.setLayoutData( gdfill() );
-            
-            final GridLayout layout = new GridLayout( 1, false );
-            layout.marginHeight = 0;
-            layout.marginWidth = 0;
-            layout.marginBottom = 5;
-            
-            composite.setLayout( layout );
-            
-            this.panel = new RuntimesPanel( composite, this.fpjwc );
-            this.panel.setLayoutData( gdfill() );
-
-            final Label hint = new Label( composite, SWT.WRAP );
-            hint.setText( Resources.hint );
-            
-            final GridData gd = gdhfill();
-            gd.grabExcessHorizontalSpace = true;
-            gd.widthHint = 300;
-            gd.verticalIndent = 5;
-            
-            hint.setLayoutData( gd );
-            
-            final Hyperlink uninstallFacetsLink = new Hyperlink( composite, SWT.NONE );
-            uninstallFacetsLink.setForeground( parent.getDisplay().getSystemColor( SWT.COLOR_DARK_BLUE ) );
-            uninstallFacetsLink.setUnderlined( true );
-            uninstallFacetsLink.setText( Resources.uninstallFacetsLinkLabel );
-            
-            uninstallFacetsLink.addHyperlinkListener
-            (
-                new HyperlinkAdapter() 
-                {
-                    public void linkActivated( final HyperlinkEvent evt ) 
-                    {
-                        performAddRemoveFacets();
-                    }
-                }
-            );
-            
-            composite.addDisposeListener
-            (
-                new DisposeListener()
-                {
-                    public void widgetDisposed( final DisposeEvent e )
-                    {
-                        handleDisposeEvent();
-                    }
-                }
-            );
-            
-            Dialog.applyDialogFont( parent );
-            
-            return composite;
-        }
-        return null;
-    }
-    
-    public boolean performOk() 
-    {
-        final IWorkspaceRunnable wr = new IWorkspaceRunnable()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws CoreException
-                
-            {
-                RuntimesPropertyPage.this.fpjwc.commitChanges( monitor );
-            }
-        };
-        
-        final IRunnableWithProgress op = new IRunnableWithProgress()
-        {
-            public void run( final IProgressMonitor monitor ) 
-            
-                throws InvocationTargetException, InterruptedException
-                
-            {
-                try
-                {
-                    final IWorkspace ws = ResourcesPlugin.getWorkspace();
-                    ws.run( wr, ws.getRoot(), IWorkspace.AVOID_UPDATE, monitor );
-                }
-                catch( CoreException e )
-                {
-                    throw new InvocationTargetException( e );
-                }
-            }
-        };
-
-        boolean failed = false;
-        
-        try 
-        {
-            new ProgressMonitorDialog( getShell() ).run( true, false, op );
-        }
-        catch( InterruptedException e ) 
-        {
-            failed = true;
-            return false;
-        } 
-        catch( InvocationTargetException e ) 
-        {
-            failed = true;
-            
-            final Throwable te = e.getTargetException();
-            
-            if( te instanceof CoreException )
-            {
-                final IStatus st = ( (CoreException) te ).getStatus();
-                
-                ErrorDialog.openError( getShell(), Resources.errDlgTitle,
-                                       st.getMessage(), st );
-                
-                FacetUiPlugin.log( st );
-            }
-            else
-            {
-                throw new RuntimeException( te );
-            }
-        }
-        finally
-        {
-            if( failed )
-            {
-                try
-                {
-                    this.fpjwc.revertChanges();
-                }
-                catch( Exception e )
-                {
-                    FacetUiPlugin.log( e );
-                }
-            }
-        }
-        
-        return true;
-    }
-    
-    protected void performDefaults() 
-    {
-        super.performDefaults();
-        
-        this.fpjwc.setTargetedRuntimes( this.project.getTargetedRuntimes() );
-        this.fpjwc.setPrimaryRuntime( this.project.getPrimaryRuntime() );
-    }
-    
-    private void performAddRemoveFacets()
-    {
-        final IWizard wizard = new ModifyFacetedProjectWizard( this.project );
-        final WizardDialog dialog = new WizardDialog( getShell(), wizard );
-        
-        dialog.open();     
-    }
-    
-    private void handleProjectChangedEvent()
-    {
-        this.fpjwc.refreshTargetableRuntimes();
-        
-        final Set<IRuntime> targetedRuntimes = this.project.getTargetedRuntimes();
-        this.fpjwc.setTargetedRuntimes( targetedRuntimes );
-        
-        final IRuntime primaryRuntime = this.project.getPrimaryRuntime();
-        this.fpjwc.setPrimaryRuntime( primaryRuntime );
-    }
-    
-    private void handleDisposeEvent()
-    {
-        this.project.removeListener( this.projectListener );
-        SharedWorkingCopyManager.releaseWorkingCopy( this.project );
-    }
-    
-    private static GridData gdfill()
-    {
-        return new GridData( SWT.FILL, SWT.FILL, true, true );
-    }
-
-    private static GridData gdhfill()
-    {
-        return new GridData( GridData.FILL_HORIZONTAL );
-    }
-    
-    
-    private static final class Resources extends NLS
-    {
-        public static String errDlgTitle;
-        public static String hint;
-        public static String uninstallFacetsLinkLabel;
-        
-        static
-        {
-            initializeMessages( RuntimesPropertyPage.class.getName(), 
-                                Resources.class );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.properties
deleted file mode 100644
index d36a585..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/RuntimesPropertyPage.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-errDlgTitle = Error
-
-hint = \
-If a runtime that you want to select is not displayed or is disabled you may \
-need to uninstall one or more of the currently installed project facets.
-
-uninstallFacetsLinkLabel = Uninstall Facets...
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.java
deleted file mode 100644
index ee8928d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.Set;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-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.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.IPreset;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class SavePresetDialog
-
-    extends Dialog
-    
-{
-    private static final String WIDTH = "width"; //$NON-NLS-1$
-    private static final String HEIGHT = "height"; //$NON-NLS-1$
-
-    private IDialogSettings settings;
-    private Text nameTextField;
-    private Text descTextField;
-    private Label msgLabel;
-    private String name;
-    private String description;
-    
-    protected SavePresetDialog( final Shell shell )
-    {
-        super( shell );
-        
-        setShellStyle( getShellStyle() | SWT.RESIZE );
-    }
-    
-    public static IPreset showDialog( final Shell shell,
-                                      final Set<IProjectFacetVersion> facets )
-    {
-        final SavePresetDialog dialog = new SavePresetDialog( shell );
-        
-        IPreset preset = null;
-
-        if( dialog.open() == IDialogConstants.OK_ID )
-        {
-            final String name = dialog.name;
-            final String desc = dialog.description;
-            
-            preset = ProjectFacetsManager.definePreset( name, desc, facets );
-        }
-        
-        return preset;
-    }
-
-    protected void configureShell( final Shell shell )
-    {
-        super.configureShell( shell );
-        shell.setText( Resources.dialogTitle );
-    }
-
-    protected Control createDialogArea( final Composite parent ) 
-    {
-        final IDialogSettings root
-            = FacetUiPlugin.getInstance().getDialogSettings();
-    
-        IDialogSettings temp = root.getSection( getClass().getName() );
-    
-        if( temp == null )
-        {
-            temp = root.addNewSection( getClass().getName() );
-        }
-        
-        if( temp.get( WIDTH ) == null ) temp.put( WIDTH, 300 );
-        if( temp.get( HEIGHT ) == null ) temp.put( HEIGHT, 160 );
-
-        this.settings = temp;
-        
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( new GridLayout( 1, false ) );
-        
-        final GridData gd = gdfill();
-        gd.widthHint = this.settings.getInt( WIDTH );
-        gd.heightHint = this.settings.getInt( HEIGHT );
-        
-        composite.setLayoutData( gd );
-        
-        composite.addListener
-        (
-            SWT.Resize,
-            new Listener()
-            {
-                public void handleEvent( final Event event )
-                {
-                    final Point size = composite.getSize();
-                    
-                    SavePresetDialog.this.settings.put( WIDTH, size.x );
-                    SavePresetDialog.this.settings.put( HEIGHT, size.y );
-                }
-            }
-        );
-        
-        final Label nameLabel = new Label( composite, SWT.NONE );
-        nameLabel.setLayoutData( gdhfill() );
-        nameLabel.setText( Resources.nameLabel );
-        
-        this.nameTextField = new Text( composite, SWT.NONE | SWT.BORDER );
-        this.nameTextField.setLayoutData( gdhfill() );
-        
-        this.nameTextField.addModifyListener
-        (
-            new ModifyListener()
-            {
-                public void modifyText( final ModifyEvent e )
-                {
-                    handleNameChange();
-                }
-            }
-        );
-        
-        final Label descLabel = new Label( composite, SWT.NONE );
-        descLabel.setLayoutData( gdhfill() );
-        descLabel.setText( Resources.descLabel );
-        
-        this.descTextField 
-            = new Text( composite, SWT.NONE | SWT.V_SCROLL | SWT.BORDER | SWT.WRAP );
-        
-        this.descTextField.setLayoutData( gdfill() );
-        
-        this.descTextField.addModifyListener
-        (
-            new ModifyListener()
-            {
-                public void modifyText( final ModifyEvent e )
-                {
-                    handleDescriptionChange();
-                }
-            }
-        );
-        
-        this.msgLabel = new Label( composite, SWT.NONE );
-        this.msgLabel.setLayoutData( gdhfill() );
-        this.msgLabel.setForeground( color( SWT.COLOR_RED ) );
-        
-        handleNameChange();
-        
-        return composite;
-    }
-    
-    private void handleNameChange()
-    {
-        this.name = this.nameTextField.getText().trim();
-        
-        boolean okButtonEnabled = false;
-        boolean conflictDetected = false;
-        
-        if( this.name.length() > 0 )
-        {
-            for( IPreset preset : ProjectFacetsManager.getPresets() )
-            {
-                if( preset.getLabel().equals( this.name ) )
-                {
-                    conflictDetected = true;
-                    break;
-                }
-            }
-            
-            if( ! conflictDetected )
-            {
-                okButtonEnabled = true;
-            }
-        }
-        
-        if( conflictDetected )
-        {
-            this.msgLabel.setText( Resources.nameInUseMessage );
-        }
-        else
-        {
-            this.msgLabel.setText( "" ); //$NON-NLS-1$
-        }
-        
-        setOkButtonEnabled( okButtonEnabled );
-    }
-    
-    private void handleDescriptionChange()
-    {
-        this.description = this.descTextField.getText().trim();
-    }
-    
-    private void setOkButtonEnabled( final boolean enabled )
-    {
-        Button button = getButton( IDialogConstants.OK_ID );
-        
-        if( button != null )
-        {
-            button.setEnabled( enabled );
-        }
-        else
-        {
-            // If the button has not been created yet (this happens during the
-            // execution of the createDialogArea method), spin off a thread to
-            // wait for it's creation.
-            
-            final Display display = Display.getCurrent();
-            
-            final Thread t = new Thread()
-            {
-                public void run()
-                {
-                    Button b = getButton( IDialogConstants.OK_ID );
-                    
-                    while( b == null )
-                    {
-                        try
-                        {
-                            Thread.sleep( 50 );
-                        }
-                        catch( InterruptedException e ) {}
-                        
-                        b = getButton( IDialogConstants.OK_ID );
-                    }
-                    
-                    final Button finalButton = b;
-                    
-                    display.asyncExec( new Runnable()
-                    {
-                        public void run()
-                        {
-                            finalButton.setEnabled( enabled );
-                        }
-                    } );
-                }
-            };
-            
-            t.start();
-        }
-    }
-    
-    private static GridData gdfill()
-    {
-        return new GridData( SWT.FILL, SWT.FILL, true, true );
-    }
-
-    private static GridData gdhfill()
-    {
-        return new GridData( GridData.FILL_HORIZONTAL );
-    }
-    
-    public static Color color( final int id )
-    {
-        return Display.getCurrent().getSystemColor( id );       
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String dialogTitle;
-        public static String nameLabel;
-        public static String descLabel;
-        public static String nameInUseMessage;
-        
-        static
-        {
-            initializeMessages( SavePresetDialog.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.properties b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.properties
deleted file mode 100644
index f31fbba..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SavePresetDialog.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-dialogTitle = Save Preset
-nameLabel = &Name:
-descLabel = &Description:
-nameInUseMessage = Selected name already in use.
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SharedWorkingCopyManager.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SharedWorkingCopyManager.java
deleted file mode 100644
index 6b628f4..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/SharedWorkingCopyManager.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class SharedWorkingCopyManager
-{
-    private static final Map<IFacetedProject,IFacetedProjectWorkingCopy> sharedWorkingCopies
-        = new HashMap<IFacetedProject,IFacetedProjectWorkingCopy>();
-    
-    private static final Map<IFacetedProject,Integer> sharedWorkingCopyUserCount
-        = new HashMap<IFacetedProject,Integer>();
-    
-    public static synchronized IFacetedProjectWorkingCopy getWorkingCopy( final IFacetedProject project )
-    {
-        IFacetedProjectWorkingCopy fpjwc = sharedWorkingCopies.get( project );
-        
-        if( fpjwc != null )
-        {
-            int userCount = sharedWorkingCopyUserCount.get( project );
-            sharedWorkingCopyUserCount.put( project, userCount + 1 );
-        }
-        else
-        {
-            fpjwc = project.createWorkingCopy();
-            sharedWorkingCopies.put( project, fpjwc );
-            sharedWorkingCopyUserCount.put( project, 1 );
-        }
-        
-        return fpjwc;
-    }
-    
-    public static synchronized void releaseWorkingCopy( final IFacetedProject project )
-    {
-        final IFacetedProjectWorkingCopy fpjwc = sharedWorkingCopies.get( project );
-        final int usersCount = sharedWorkingCopyUserCount.get( project );
-        
-        if( usersCount == 1 )
-        {
-            sharedWorkingCopies.remove( project );
-            sharedWorkingCopyUserCount.remove( project );
-            fpjwc.dispose();
-        }
-        else
-        {
-            sharedWorkingCopyUserCount.put( project, usersCount - 1 );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintOperator.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintOperator.java
deleted file mode 100644
index 7b62e4f..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintOperator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public abstract class ConstraintOperator
-{
-    public static enum Type
-    {
-        AND,
-        OR,
-        REQUIRES_ALL,
-        REQUIRES_ONE,
-        CONFLICTS
-    }
-    
-    private Type type;
-    
-    protected ConstraintOperator( final Type type )
-    {
-        this.type = type;
-    }
-    
-    public Type getType()
-    {
-        return this.type;
-    }
-    
-    public void setType( final Type type )
-    {
-        this.type = type;
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintUtil.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintUtil.java
deleted file mode 100644
index 728ac92..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/ConstraintUtil.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-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.wst.common.project.facet.core.IConstraint;
-import org.eclipse.wst.common.project.facet.core.IGroup;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.IVersionExpr;
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetRef;
-import org.eclipse.wst.common.project.facet.core.util.internal.VersionExpr;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ConstraintUtil
-{
-    private ConstraintUtil() {}
-    
-    public static ConstraintOperator convert( final IConstraint inputConstraint )
-    {
-        final IConstraint.Type inputConstraintType = inputConstraint.getType();
-        
-        if( inputConstraintType == IConstraint.Type.AND ||
-            inputConstraintType == IConstraint.Type.OR )
-        {
-            final ConstraintOperator.Type outputConstraintType 
-                = ( inputConstraintType == IConstraint.Type.AND 
-                    ? ConstraintOperator.Type.AND : ConstraintOperator.Type.OR );
-            
-            final GroupingConstraintOperator outputConstraint
-                = new GroupingConstraintOperator( outputConstraintType );
-            
-            for( Object child : inputConstraint.getOperands() )
-            {
-                outputConstraint.addChild( convert( (IConstraint) child ) );
-            }
-            
-            return outputConstraint;
-        }
-        else if( inputConstraintType == IConstraint.Type.REQUIRES )
-        {
-            final Object firstOperand = inputConstraint.getOperand( 0 );
-
-            final MultiFacetConstraintOperator outputConstraint
-                = new MultiFacetConstraintOperator( ConstraintOperator.Type.REQUIRES_ONE );
-            
-            if( firstOperand instanceof IProjectFacet )
-            {
-                final IProjectFacet f = (IProjectFacet) firstOperand;
-                final IVersionExpr vexpr = (IVersionExpr) inputConstraint.getOperand( 1 );
-                outputConstraint.addProjectFacetRef( new ProjectFacetRef( f, vexpr ) );
-            }
-            else
-            {
-                final IGroup group = (IGroup) firstOperand;
-                outputConstraint.addProjectFacetRefs( convertGroupToFacetRefs( group ) );
-            }
-            
-            return outputConstraint;
-        }
-        else if( inputConstraintType == IConstraint.Type.CONFLICTS )
-        {
-            final Object firstOperand = inputConstraint.getOperand( 0 );
-
-            final MultiFacetConstraintOperator outputConstraint
-                = new MultiFacetConstraintOperator( ConstraintOperator.Type.CONFLICTS );
-            
-            if( firstOperand instanceof IProjectFacet )
-            {
-                final IProjectFacet f = (IProjectFacet) firstOperand;
-                final IVersionExpr vexpr = (IVersionExpr) inputConstraint.getOperand( 1 );
-                outputConstraint.addProjectFacetRef( new ProjectFacetRef( f, vexpr ) );
-            }
-            else
-            {
-                final IGroup group = (IGroup) firstOperand;
-                outputConstraint.addProjectFacetRefs( convertGroupToFacetRefs( group ) );
-            }
-            
-            return outputConstraint;
-        }
-        else
-        {
-            throw new IllegalStateException( inputConstraintType.name() );
-        }
-    }
-    
-    private static Collection<ProjectFacetRef> convertGroupToFacetRefs( final IGroup group )
-    {
-        final Map<IProjectFacet,List<IProjectFacetVersion>> members
-            = new HashMap<IProjectFacet,List<IProjectFacetVersion>>();
-        
-        for( IProjectFacetVersion fv : group.getMembers() )
-        {
-            final IProjectFacet f = fv.getProjectFacet();
-            List<IProjectFacetVersion> versions = members.get( f );
-            
-            if( versions == null )
-            {
-                versions = new ArrayList<IProjectFacetVersion>();
-                members.put( f, versions );
-            }
-            
-            versions.add( fv );
-        }
-
-        final List<ProjectFacetRef> facetRefs = new ArrayList<ProjectFacetRef>( members.size() );
-        
-        for( Map.Entry<IProjectFacet,List<IProjectFacetVersion>> entry : members.entrySet() )
-        {
-            final IProjectFacet f = entry.getKey();
-            final List<IProjectFacetVersion> versions = entry.getValue();
-            final String vexprString;
-            
-            if( versions.size() == f.getVersions().size() )
-            {
-                vexprString = IVersionExpr.WILDCARD_SYMBOL;
-            }
-            else
-            {
-                final StringBuilder buf = new StringBuilder();
-                
-                for( IProjectFacetVersion fv : versions )
-                {
-                    if( buf.length() > 0 )
-                    {
-                        buf.append( ',' );
-                    }
-                    
-                    buf.append( fv.getVersionString() );
-                }
-                
-                vexprString = buf.toString();
-            }
-            
-            final IVersionExpr vexpr;
-            
-            try
-            {
-                vexpr = new VersionExpr<IProjectFacetVersion>( f, vexprString, null );
-            }
-            catch( CoreException e )
-            {
-                throw new RuntimeException( e );
-            }
-            
-            facetRefs.add( new ProjectFacetRef( f, vexpr ) );
-        }
-        
-        return facetRefs;
-    }
-    
-    public static ConstraintOperator normalize( final ConstraintOperator input )
-    {
-        if( input instanceof GroupingConstraintOperator )
-        {
-            final List<ConstraintOperator> oldChildren = ( (GroupingConstraintOperator) input ).getChildren();
-            final List<ConstraintOperator> newChildren = new ArrayList<ConstraintOperator>( oldChildren.size() );
-            
-            for( ConstraintOperator child : oldChildren )
-            {
-                newChildren.add( normalize( child ) );
-            }
-            
-            if( input.getType() == ConstraintOperator.Type.AND )
-            {
-                // Can merge any REQUIRES_ALL operators under an AND. Note that a REQUIRES_ONE with
-                // a single facet can be treated as REQUIRES_ALL.
-                
-                MultiFacetConstraintOperator firstRequiresAll = null;
-                
-                for( Iterator<ConstraintOperator> itr = newChildren.iterator(); itr.hasNext(); )
-                {
-                    final ConstraintOperator op = itr.next();
-                    
-                    if( op.getType() == ConstraintOperator.Type.REQUIRES_ALL ||
-                        ( op.getType() == ConstraintOperator.Type.REQUIRES_ONE &&
-                          ( (MultiFacetConstraintOperator) op ).getProjectFacetRefs().size() == 1 ) )
-                    {
-                        final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                        
-                        if( firstRequiresAll == null )
-                        {
-                            firstRequiresAll = mfop;
-                        }
-                        else
-                        {
-                            firstRequiresAll.addProjectFacetRefs( mfop.getProjectFacetRefs() );
-                            itr.remove();
-                        }
-                    }
-                }
-                
-                if( firstRequiresAll != null && 
-                    firstRequiresAll.getType() == ConstraintOperator.Type.REQUIRES_ONE && 
-                    firstRequiresAll.getProjectFacetRefs().size() > 1 )
-                {
-                    firstRequiresAll.setType( ConstraintOperator.Type.REQUIRES_ALL );
-                }
-                
-                // Can merge any CONFLICTS operators under an AND.
-                
-                MultiFacetConstraintOperator firstConflicts = null;
-                
-                for( Iterator<ConstraintOperator> itr = newChildren.iterator(); itr.hasNext(); )
-                {
-                    final ConstraintOperator op = itr.next();
-                    
-                    if( op.getType() == ConstraintOperator.Type.CONFLICTS )
-                    {
-                        final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                        
-                        if( firstConflicts == null )
-                        {
-                            firstConflicts = mfop;
-                        }
-                        else
-                        {
-                            firstConflicts.addProjectFacetRefs( mfop.getProjectFacetRefs() );
-                            itr.remove();
-                        }
-                    }
-                }
-            }
-            else
-            {
-                // Can merge any REQUIRES_ONE operators under an OR that have only one child.
-                
-                MultiFacetConstraintOperator firstRequiresOne = null;
-                
-                for( Iterator<ConstraintOperator> itr = newChildren.iterator(); itr.hasNext(); )
-                {
-                    final ConstraintOperator op = itr.next();
-                    
-                    if( op.getType() == ConstraintOperator.Type.REQUIRES_ONE )
-                    {
-                        final MultiFacetConstraintOperator mfop = (MultiFacetConstraintOperator) op;
-                        
-                        if( firstRequiresOne == null )
-                        {
-                            firstRequiresOne = mfop;
-                        }
-                        else
-                        {
-                            firstRequiresOne.addProjectFacetRefs( mfop.getProjectFacetRefs() );
-                            itr.remove();
-                        }
-                    }
-                }
-            }
-
-            if( newChildren.size() == 1 )
-            {
-                return newChildren.get( 0 );
-            }
-            else
-            {
-                final GroupingConstraintOperator output = new GroupingConstraintOperator( input.getType() );
-                output.addChildren( newChildren );
-                return output;
-            }
-        }
-        else
-        {
-            return input;
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/GroupingConstraintOperator.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/GroupingConstraintOperator.java
deleted file mode 100644
index bad364b..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/GroupingConstraintOperator.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class GroupingConstraintOperator
-
-    extends ConstraintOperator
-    
-{
-    private final List<ConstraintOperator> children;
-    private final List<ConstraintOperator> childrenReadOnly;
-    
-    public GroupingConstraintOperator( final Type type )
-    {
-        super( type );
-        
-        this.children = new ArrayList<ConstraintOperator>();
-        this.childrenReadOnly = Collections.unmodifiableList( this.children );
-    }
-    
-    public List<ConstraintOperator> getChildren()
-    {
-        return this.childrenReadOnly;
-    }
-    
-    public void addChild( final ConstraintOperator child )
-    {
-        this.children.add( child );
-    }
-    
-    public void addChildren( final Collection<ConstraintOperator> children )
-    {
-        this.children.addAll( children );
-    }
-    
-    public void removeChild( final ConstraintOperator child )
-    {
-        this.children.remove( child );
-    }
-    
-    public void removeChildren( final Collection<ConstraintOperator> children )
-    {
-        this.children.removeAll( children );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/MultiFacetConstraintOperator.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/MultiFacetConstraintOperator.java
deleted file mode 100644
index a3e10af..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/constraints/MultiFacetConstraintOperator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.constraints;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.wst.common.project.facet.core.internal.ProjectFacetRef;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class MultiFacetConstraintOperator
-
-    extends ConstraintOperator
-    
-{
-    private final List<ProjectFacetRef> facetRefs;
-    private final List<ProjectFacetRef> facetRefsReadOnly;
-    
-    public MultiFacetConstraintOperator( final Type type )
-    {
-        super( type );
-        
-        this.facetRefs = new ArrayList<ProjectFacetRef>();
-        this.facetRefsReadOnly = Collections.unmodifiableList( this.facetRefs );
-    }
-    
-    public List<ProjectFacetRef> getProjectFacetRefs()
-    {
-        return this.facetRefsReadOnly;
-    }
-    
-    public void addProjectFacetRef( final ProjectFacetRef facetRef )
-    {
-        this.facetRefs.add( facetRef );
-    }
-    
-    public void addProjectFacetRefs( final Collection<ProjectFacetRef> facetRefs )
-    {
-        this.facetRefs.addAll( facetRefs );
-    }
-    
-    public void removeProjectFacetRef( final ProjectFacetRef facetRef )
-    {
-        this.facetRefs.remove( facetRef );
-    }
-    
-    public void removeProjectFacetRefs( final Collection<ProjectFacetRef> facetRefs )
-    {
-        this.facetRefs.removeAll( facetRefs );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/BasicToolTip.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/BasicToolTip.java
deleted file mode 100644
index 5285799..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/BasicToolTip.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public abstract class BasicToolTip
-    
-    extends ToolTip
-    
-{
-    private String message = ""; //$NON-NLS-1$
-    
-    public BasicToolTip( final Control control )
-    {
-        super( control );
-        
-        setPopupDelay( 1000 );
-        setShift( new Point( 10, 3 ) );
-    }
-
-    @Override
-    protected Composite createToolTipContentArea( final Event event,
-                                                  final Composite parent )
-    {
-        final Display display = parent.getDisplay();
-        
-        final Composite composite = new Composite( parent, SWT.NONE );
-        composite.setLayout( gl( 1 ) );
-        composite.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-        
-        final Label label = new Label( composite, SWT.WRAP );
-        label.setLayoutData( gdwhint( gdfill(), 300 ) );
-        label.setBackground( display.getSystemColor( SWT.COLOR_INFO_BACKGROUND ) );
-        label.setText( this.message );
-        
-        return composite;
-    }
-    
-    public String getMessage()
-    {
-        return this.message;
-    }
-    
-    public void setMessage( final String message )
-    {
-        this.message = message;
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedComposite.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedComposite.java
deleted file mode 100644
index 51aace3..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedComposite.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class EnhancedComposite
-
-    extends Composite
-    
-{
-    public EnhancedComposite( final Composite parent )
-    {
-        this( parent, SWT.NONE );
-    }
-    
-    public EnhancedComposite( final Composite parent,
-                              final int style )
-    {
-        super( parent, style );
-    }
-    
-    @Override
-    public void setEnabled( boolean enabled )
-    {
-        super.setEnabled( enabled );
-        
-        for( Control child : getChildren() )
-        {
-            child.setEnabled( enabled );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedHyperlink.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedHyperlink.java
deleted file mode 100644
index 8a15f47..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/EnhancedHyperlink.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public class EnhancedHyperlink
-
-    extends Hyperlink
-    
-{
-    public EnhancedHyperlink( final Composite parent,
-                              final int style )
-    {
-        super( parent, style );
-        
-        setUnderlined( true );
-        setForeground( getDisplay().getSystemColor( SWT.COLOR_DARK_BLUE ) );
-    }
-    
-    @Override
-    public void setEnabled( final boolean enabled )
-    {
-        super.setEnabled( enabled );
-        
-        final int color = ( enabled ? SWT.COLOR_DARK_BLUE : SWT.COLOR_DARK_GRAY );
-        setForeground( getDisplay().getSystemColor( color ) );
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/GridLayoutUtil.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/GridLayoutUtil.java
deleted file mode 100644
index b7ff029..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/GridLayoutUtil.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class GridLayoutUtil
-{
-    public static final GridLayout gl( final int columns )
-    {
-        return new GridLayout( columns, false );
-    }
-    
-    public static final GridLayout gl( final int columns,
-                                       final int marginWidth,
-                                       final int marginHeight )
-    {
-        final GridLayout layout = new GridLayout( columns, false );
-
-        layout.marginWidth = marginWidth;
-        layout.marginHeight = marginHeight;
-        
-        return layout;
-    }
-
-    public static final GridLayout gl( final int columns,
-                                       final int leftMargin,
-                                       final int rightMargin,
-                                       final int topMargin,
-                                       final int bottomMargin )
-    {
-        final GridLayout layout = new GridLayout( columns, false );
-        
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        layout.marginLeft = leftMargin;
-        layout.marginRight = rightMargin;
-        layout.marginTop = topMargin;
-        layout.marginBottom = bottomMargin;
-        
-        return layout;
-    }
-
-    public static final GridLayout glmargins( final GridLayout layout,
-                                              final int marginWidth,
-                                              final int marginHeight )
-    {
-        layout.marginWidth = marginWidth;
-        layout.marginHeight = marginHeight;
-        layout.marginLeft = 0;
-        layout.marginRight = 0;
-        layout.marginTop = 0;
-        layout.marginBottom = 0;
-        
-        return layout;
-    }
-
-    public static final GridLayout glmargins( final GridLayout layout,
-                                              final int leftMargin,
-                                              final int rightMargin,
-                                              final int topMargin,
-                                              final int bottomMargin )
-    {
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        layout.marginLeft = leftMargin;
-        layout.marginRight = rightMargin;
-        layout.marginTop = topMargin;
-        layout.marginBottom = bottomMargin;
-        
-        return layout;
-    }
-    
-    public static final GridLayout glspacing( final GridLayout layout,
-                                              final int horizontalSpacing,
-                                              final int verticalSpacing )
-    {
-        layout.horizontalSpacing = horizontalSpacing;
-        layout.verticalSpacing = verticalSpacing;
-        
-        return layout;
-    }
-
-    public static final GridData gd()
-    {
-        return new GridData();
-    }
-    
-    public static final GridData gdfill()
-    {
-        return new GridData( SWT.FILL, SWT.FILL, true, true );
-    }
-    
-    public static final GridData gdhfill()
-    {
-        return new GridData( GridData.FILL_HORIZONTAL );
-    }
-
-    public static final GridData gdvfill()
-    {
-        return new GridData( GridData.FILL_VERTICAL );
-    }
-    
-    public static final GridData gdhhint( final GridData gd,
-                                          final int heightHint )
-    {
-        gd.heightHint = heightHint;
-        return gd;
-    }
-    
-    public static final GridData gdwhint( final GridData gd,
-                                          final int widthHint )
-    {
-        gd.widthHint = widthHint;
-        return gd;
-    }
-    
-    public static final GridData gdhindent( final GridData gd,
-                                            final int horizontalIndent )
-    {
-        gd.horizontalIndent = horizontalIndent;
-        return gd;
-    }
-
-    public static final GridData gdvindent( final GridData gd,
-                                            final int verticalIndent )
-    {
-        gd.verticalIndent = verticalIndent;
-        return gd;
-    }
-    
-    public static final GridData gdhspan( final GridData gd,
-                                          final int span )
-    {
-        gd.horizontalSpan = span;
-        return gd;
-    }
-
-    public static final GridData gdvspan( final GridData gd,
-                                          final int span )
-    {
-        gd.verticalSpan = span;
-        return gd;
-    }
-    
-    public static final GridData gdhalign( final GridData gd,
-                                           final int alignment )
-    {
-        gd.horizontalAlignment = alignment;
-        return gd;
-    }
-    
-    public static final GridData gdvalign( final GridData gd,
-                                           final int alignment )
-    {
-        gd.verticalAlignment = alignment;
-        return gd;
-    }
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/HeaderToolTip.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/HeaderToolTip.java
deleted file mode 100644
index afad27d..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/HeaderToolTip.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import static java.lang.Math.max;
-import static org.eclipse.jface.resource.JFaceResources.getColorRegistry;
-import static org.eclipse.jface.resource.JFaceResources.getDefaultFont;
-import static org.eclipse.jface.resource.JFaceResources.getFontRegistry;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdwhint;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.SwtUtil.getPreferredWidth;
-
-import org.eclipse.jface.window.ToolTip;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public abstract class HeaderToolTip
-    
-    extends ToolTip
-    
-{
-    private static final String HEADER_BG_COLOR 
-        = HeaderToolTip.class.getName() + ".TOOLTIP_HEAD_BG_COLOR"; //$NON-NLS-1$
-    
-    private static final String HEADER_FG_COLOR 
-        = HeaderToolTip.class.getName() + ".TOOLTIP_HEAD_FG_COLOR"; //$NON-NLS-1$
-    
-    private static final String HEADER_FONT 
-        = HeaderToolTip.class.getName() + ".TOOLTIP_HEAD_FONT"; //$NON-NLS-1$
-    
-    static
-    {
-        getColorRegistry().put( HEADER_BG_COLOR, new RGB( 255, 255, 255 ) );
-        getColorRegistry().put( HEADER_FG_COLOR, new RGB( 0, 0, 0 ) );
-        
-        final String defaultFontName = getDefaultFont().getFontData()[ 0 ].getName();
-        final FontData[] fontData = getFontRegistry().getBold( defaultFontName ).getFontData();
-        
-        getFontRegistry().put( HEADER_FONT, fontData );
-    }
-    
-    public HeaderToolTip( final Control control )
-    {
-        super( control );
-        
-        setPopupDelay( 1000 );
-        setShift( new Point( 10, 3 ) );
-    }
-
-    @Override
-    protected final Composite createToolTipContentArea( final Event event,
-                                                        final Composite parent )
-    {
-        final Composite composite = new Composite( parent, SWT.NONE );
-        final GridLayout layout = glmargins( gl( 1 ), 0, 0 );
-        layout.verticalSpacing = 1;
-        composite.setLayout( layout );
-        
-        final Composite topArea = new Composite( composite, SWT.NONE );
-        topArea.setBackground( getColorRegistry().get( HEADER_BG_COLOR ) );
-        topArea.setLayout( glmargins( gl( 3 ), 5, 5, 2, 2 ) );
-        
-        final Label titleLabel = new Label( topArea, SWT.NONE  );
-        titleLabel.setLayoutData( gdfill() );
-        titleLabel.setBackground( getColorRegistry().get( HEADER_BG_COLOR ) );
-        titleLabel.setFont( getFontRegistry().get( HEADER_FONT ) );
-        titleLabel.setForeground( getColorRegistry().get( HEADER_FG_COLOR ) );
-        titleLabel.setText( getToolTipTitle( event ) );
-        
-        final Control content = createContentArea( event, composite );
-
-        final int width = max( getPreferredWidth( titleLabel ) + 50, 300 );
-        topArea.setLayoutData( gdwhint( gdhfill(), width ) );
-        content.setLayoutData( gdwhint( gdfill(), width ) );
-        
-        return composite;
-    }
-    
-    protected abstract String getToolTipTitle( Event event );
-    
-    protected abstract Composite createContentArea( Event event,
-                                                    Composite parent );
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ImageWithTextComposite.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ImageWithTextComposite.java
deleted file mode 100644
index a25ecd8..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ImageWithTextComposite.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gd;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdhfill;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gdvalign;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.gl;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glmargins;
-import static org.eclipse.wst.common.project.facet.ui.internal.util.GridLayoutUtil.glspacing;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class ImageWithTextComposite
-
-    extends Composite
-    
-{
-    private final Label imageLabel;
-    private final Text textField;
-    
-    public ImageWithTextComposite( final Composite parent )
-    {
-        super( parent, SWT.NONE );
-        
-        setLayout( glmargins( gl( 1 ), 0, 0 ) );
-        
-        final Composite internalComposite = new Composite( this, SWT.NONE );
-        internalComposite.setLayoutData( gdfill() );
-        internalComposite.setLayout( glspacing( glmargins( gl( 2 ), 0, 0 ), 5, 0 ) );
-        
-        this.imageLabel = new Label( internalComposite, SWT.NONE );
-        this.imageLabel.setLayoutData( gdvalign( gd(), SWT.TOP ) );
-        
-        this.textField = new Text( internalComposite, SWT.WRAP | SWT.READ_ONLY );
-        this.textField.setLayoutData( gdhfill() );
-        //this.textField.setBackground( getDisplay().getSystemColor( SWT.COLOR_WIDGET_BACKGROUND ) );
-    }
-    
-    public void setImage( final Image image )
-    {
-        this.imageLabel.setImage( image );
-    }
-    
-    public void setText( final String textLabel )
-    {
-        this.textField.setText( textLabel );
-    }
-    
-    public void setFont( final Font font )
-    {
-        this.textField.setFont( font );
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ProblemOverlayImageDescriptor.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ProblemOverlayImageDescriptor.java
deleted file mode 100644
index af21aed..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ProblemOverlayImageDescriptor.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import static org.eclipse.ui.plugin.AbstractUIPlugin.imageDescriptorFromPlugin;
-import static org.eclipse.wst.common.project.facet.ui.internal.FacetUiPlugin.PLUGIN_ID;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-public final class ProblemOverlayImageDescriptor 
-
-    extends CompositeImageDescriptor 
-    
-{
-    private static final ImageData IMG_DATA_ERROR_OVERLAY
-        = imageDescriptorFromPlugin( PLUGIN_ID, "images/overlays/error.gif" ).getImageData(); //$NON-NLS-1$
-
-    private static final ImageData IMG_DATA_WARNING_OVERLAY
-        = imageDescriptorFromPlugin( PLUGIN_ID, "images/overlays/warning.png" ).getImageData(); //$NON-NLS-1$
-
-    private final ImageData base;
-    private final ImageData overlay;
-    private final Point size;
-    
-    public ProblemOverlayImageDescriptor( final ImageDescriptor base,
-                                          final int severity ) 
-    {
-        this.base = base.getImageData();
-        this.overlay = getOverlay( severity );
-        this.size = new Point( this.base.width, this.base.height );
-    }
-    
-    protected void drawCompositeImage( final int width, 
-                                       final int height ) 
-    {
-        drawImage( this.base, 0, 0 );
-        drawImage( this.overlay, width - this.overlay.width, height - this.overlay.height );
-    }
-    
-    protected Point getSize()
-    {
-        return this.size;
-    }
-    
-    private ImageData getOverlay( final int severity )
-    {
-        if( severity == IStatus.ERROR )
-        {
-            return IMG_DATA_ERROR_OVERLAY;
-        }
-        else if( severity == IStatus.WARNING )
-        {
-            return IMG_DATA_WARNING_OVERLAY;
-        }
-        else
-        {
-            throw new IllegalArgumentException();
-        }
-    }
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java
deleted file mode 100644
index 69cb8ac..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/ReadOnlyComboBoxCellEditor.java
+++ /dev/null
@@ -1,2051 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Tom Schindl <tom.schindl@bestsolution.at> - bugfix in 174739
- *     Konstantin Komissarchik - mproving behavior in the read-only case 
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import java.text.MessageFormat; // Not using ICU to support standalone JFace scenario
-import java.util.ArrayList;
-import java.util.EventListener;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.accessibility.AccessibleTextAdapter;
-import org.eclipse.swt.accessibility.AccessibleTextEvent;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.TypedListener;
-
-/**
- * A cell editor that presents a list of items in a combo box.
- * The cell editor's value is the zero-based index of the selected
- * item.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-
-// The code contained in this file has been copied from SWT/JFace to experiment
-// with improving behavior of the ComboBoxCellEditor in the read-only case. 
-// The changes made to the code have been annotated with "kosta" comments.
-// Eventually these should be converted into patches for incorporation back
-// into SWT/JFace.
-
-public class ReadOnlyComboBoxCellEditor extends CellEditor {
-
-    /**
-     * The list of items to present in the combo box.
-     */
-    private String[] items;
-
-    /**
-     * The zero-based index of the selected item.
-     */
-    int selection;
-
-    /**
-     * The custom combo box control.
-     */
-    CustomCCombo comboBox;
-
-    /**
-     * Default ComboBoxCellEditor style
-     */
-    private static final int defaultStyle = SWT.NONE;
-
-    /**
-     * Creates a new cell editor with no control and no  st of choices. Initially,
-     * the cell editor has no cell validator.
-     * 
-     * @since 2.1
-     * @see CellEditor#setStyle
-     * @see CellEditor#create
-     * @see ReadOnlyComboBoxCellEditor#setItems
-     * @see CellEditor#dispose
-     */
-    public ReadOnlyComboBoxCellEditor() {
-        setStyle(defaultStyle);
-    }
-
-    /**
-     * Creates a new cell editor with a combo containing the given 
-     * list of choices and parented under the given control. The cell
-     * editor value is the zero-based index of the selected item.
-     * Initially, the cell editor has no cell validator and
-     * the first item in the list is selected. 
-     *
-     * @param parent the parent control
-     * @param items the list of strings for the combo box
-     */
-    public ReadOnlyComboBoxCellEditor(Composite parent, String[] items) {
-        this(parent, items, defaultStyle);
-    }
-
-    /**
-     * Creates a new cell editor with a combo containing the given 
-     * list of choices and parented under the given control. The cell
-     * editor value is the zero-based index of the selected item.
-     * Initially, the cell editor has no cell validator and
-     * the first item in the list is selected. 
-     *
-     * @param parent the parent control
-     * @param items the list of strings for the combo box
-     * @param style the style bits
-     * @since 2.1
-     */
-    public ReadOnlyComboBoxCellEditor(Composite parent, String[] items, int style) {
-        super(parent, style);
-        setItems(items);
-    }
-
-    /**
-     * Returns the list of choices for the combo box
-     *
-     * @return the list of choices for the combo box
-     */
-    public String[] getItems() {
-        return this.items;
-    }
-
-    /**
-     * Sets the list of choices for the combo box
-     *
-     * @param items the list of choices for the combo box
-     */
-    public void setItems(String[] items) {
-        Assert.isNotNull(items);
-        this.items = items;
-        populateComboBoxItems();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on CellEditor.
-     */
-    protected Control createControl(Composite parent) {
-
-        this.comboBox = new CustomCCombo(parent, getStyle());
-        this.comboBox.setFont(parent.getFont());
-        
-        populateComboBoxItems();
-
-        this.comboBox.addKeyListener(new KeyAdapter() {
-            // hook key pressed - see PR 14201  
-            public void keyPressed(KeyEvent e) {
-                keyReleaseOccured(e);
-            }
-        });
-
-        this.comboBox.addSelectionListener(new SelectionAdapter() {
-            public void widgetDefaultSelected(SelectionEvent event) {
-                applyEditorValueAndDeactivate();
-            }
-
-            public void widgetSelected(SelectionEvent event) {
-                ReadOnlyComboBoxCellEditor.this.selection = ReadOnlyComboBoxCellEditor.this.comboBox.getSelectionIndex();
-            }
-        });
-
-        this.comboBox.addTraverseListener(new TraverseListener() {
-            public void keyTraversed(TraverseEvent e) {
-                if (e.detail == SWT.TRAVERSE_ESCAPE
-                        || e.detail == SWT.TRAVERSE_RETURN) {
-                    e.doit = false;
-                }
-            }
-        });
-
-        this.comboBox.addFocusListener(new FocusAdapter() {
-            public void focusLost(FocusEvent e) {
-                ReadOnlyComboBoxCellEditor.this.focusLost();
-            }
-        });
-        
-        this.comboBox.addSelectionFinalizedListener(new CustomCCombo.SelectionFinalizedListener() { // kosta
-            public void handleEvent() {
-                handleSelectionFinalized();
-            }
-        });
-        
-        return this.comboBox;
-    }
-
-    /**
-     * The <code>ComboBoxCellEditor</code> implementation of
-     * this <code>CellEditor</code> framework method returns
-     * the zero-based index of the current selection.
-     *
-     * @return the zero-based index of the current selection wrapped
-     *  as an <code>Integer</code>
-     */
-    protected Object doGetValue() {
-        return new Integer(this.selection);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on CellEditor.
-     */
-    protected void doSetFocus() {
-        this.comboBox.setFocus();
-        this.comboBox.dropDown( true );  // kosta
-    }
-
-    /**
-     * The <code>ComboBoxCellEditor</code> implementation of
-     * this <code>CellEditor</code> framework method sets the 
-     * minimum width of the cell.  The minimum width is 10 characters
-     * if <code>comboBox</code> is not <code>null</code> or <code>disposed</code>
-     * else it is 60 pixels to make sure the arrow button and some text is visible.
-     * The list of CCombo will be wide enough to show its longest item.
-     */
-    public LayoutData getLayoutData() {
-        LayoutData layoutData = super.getLayoutData();
-        if ((this.comboBox == null) || this.comboBox.isDisposed()) {
-            layoutData.minimumWidth = 60;
-        } else {
-            // make the comboBox 10 characters wide
-            GC gc = new GC(this.comboBox);
-            layoutData.minimumWidth = (gc.getFontMetrics()
-                    .getAverageCharWidth() * 10) + 10;
-            gc.dispose();
-        }
-        return layoutData;
-    }
-
-    /**
-     * The <code>ComboBoxCellEditor</code> implementation of
-     * this <code>CellEditor</code> framework method
-     * accepts a zero-based index of a selection.
-     *
-     * @param value the zero-based index of the selection wrapped
-     *   as an <code>Integer</code>
-     */
-    protected void doSetValue(Object value) {
-        Assert.isTrue(this.comboBox != null && (value instanceof Integer));
-        this.selection = ((Integer) value).intValue();
-        this.comboBox.select(this.selection);
-    }
-
-    /**
-     * Updates the list of choices for the combo box for the current control.
-     */
-    private void populateComboBoxItems() {
-        if (this.comboBox != null && this.items != null) {
-            this.comboBox.removeAll();
-            for (int i = 0; i < this.items.length; i++) {
-                this.comboBox.add(this.items[i], i);
-            }
-
-            setValueValid(true);
-            this.selection = 0;
-        }
-    }
-
-    /**
-     * Applies the currently selected value and deactivates the cell editor
-     */
-    void applyEditorValueAndDeactivate() {
-        //  must set the selection before getting value
-        this.selection = this.comboBox.getSelectionIndex();
-        Object newValue = doGetValue();
-        markDirty();
-        boolean isValid = isCorrect(newValue);
-        setValueValid(isValid);
-        
-        if (!isValid) {
-            // Only format if the 'index' is valid
-            if (this.items.length > 0 && this.selection >= 0 && this.selection < this.items.length) {
-                // try to insert the current value into the error message.
-                setErrorMessage(MessageFormat.format(getErrorMessage(),
-                        new Object[] { this.items[this.selection] }));
-            }
-            else {
-                // Since we don't have a valid index, assume we're using an 'edit'
-                // combo so format using its text value
-                setErrorMessage(MessageFormat.format(getErrorMessage(),
-                        new Object[] { this.comboBox.getText() }));
-            }
-        }
-
-        fireApplyEditorValue();
-        deactivate();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.viewers.CellEditor#focusLost()
-     */
-    protected void focusLost() {
-        if (isActivated()) {
-            applyEditorValueAndDeactivate();
-        }
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.viewers.CellEditor#keyReleaseOccured(org.eclipse.swt.events.KeyEvent)
-     */
-    protected void keyReleaseOccured(KeyEvent keyEvent) {
-        if (keyEvent.character == '\u001b') { // Escape character
-            fireCancelEditor();
-        } else if (keyEvent.character == '\t') { // tab key
-            applyEditorValueAndDeactivate();
-        }
-    }
-    
-    protected void handleSelectionFinalized() // kosta
-    {
-        applyEditorValueAndDeactivate();
-    }
-    
-    /**
-     * The CCombo class represents a selectable user interface object
-     * that combines a text field and a list and issues notification
-     * when an item is selected from the list.
-     * <p>
-     * CCombo was written to work around certain limitations in the native
-     * combo box. Specifically, on win32, the height of a CCombo can be set;
-     * attempts to set the height of a Combo are ignored. CCombo can be used
-     * anywhere that having the increased flexibility is more important than
-     * getting native L&F, but the decision should not be taken lightly. 
-     * There is no is no strict requirement that CCombo look or behave
-     * the same as the native combo box.
-     * </p>
-     * <p>
-     * Note that although this class is a subclass of <code>Composite</code>,
-     * it does not make sense to add children to it, or set a layout on it.
-     * </p>
-     * <dl>
-     * <dt><b>Styles:</b>
-     * <dd>BORDER, READ_ONLY, FLAT</dd>
-     * <dt><b>Events:</b>
-     * <dd>DefaultSelection, Modify, Selection, Verify</dd>
-     * </dl>
-     */
-    private static final class CustomCCombo extends Composite {
-        
-        public static class SelectionFinalizedListener implements EventListener // kosta
-        {
-            public void handleEvent()
-            {
-            }
-        }
-    
-        Text text;
-        List list;
-        int visibleItemCount = 5;
-        Shell popup;
-        Button arrow;
-        boolean hasFocus;
-        Listener listener, filter;
-        Color foreground, background;
-        Font font;
-        java.util.List<SelectionFinalizedListener> selectionFinalizedListeners; // kosta
-        
-        
-    /**
-     * Constructs a new instance of this class given its parent
-     * and a style value describing its behavior and appearance.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a widget which will be the parent of the new instance (cannot be null)
-     * @param style the style of widget to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT#BORDER
-     * @see SWT#READ_ONLY
-     * @see SWT#FLAT
-     * @see Widget#getStyle()
-     */
-    public CustomCCombo (Composite parent, int style) {
-        super (parent, style = checkStyle (style));
-        
-        this.selectionFinalizedListeners = new ArrayList<SelectionFinalizedListener>(); // kosta
-        
-        int textStyle = SWT.SINGLE;
-        if ((style & SWT.READ_ONLY) != 0) textStyle |= SWT.READ_ONLY;
-        if ((style & SWT.FLAT) != 0) textStyle |= SWT.FLAT;
-        this.text = new Text (this, textStyle);
-        int arrowStyle = SWT.ARROW | SWT.DOWN;
-        if ((style & SWT.FLAT) != 0) arrowStyle |= SWT.FLAT;
-        this.arrow = new Button (this, arrowStyle);
-    
-        this.listener = new Listener () {
-            public void handleEvent (Event event) {
-                if (CustomCCombo.this.popup == event.widget) {
-                    popupEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this.text == event.widget) {
-                    textEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this.list == event.widget) {
-                    listEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this.arrow == event.widget) {
-                    arrowEvent (event);
-                    return;
-                }
-                if (CustomCCombo.this == event.widget) {
-                    comboEvent (event);
-                    return;
-                }
-                if (getShell () == event.widget) {
-                    handleFocus (SWT.FocusOut);
-                }
-            }
-        };
-        this.filter = new Listener() {
-            public void handleEvent(Event event) {
-                Shell shell = ((Control)event.widget).getShell ();
-                if (shell == CustomCCombo.this.getShell ()) {
-                    handleFocus (SWT.FocusOut);
-                }
-            }
-        };
-        
-        int [] comboEvents = {SWT.Dispose, SWT.Move, SWT.Resize};
-        for (int i=0; i<comboEvents.length; i++) this.addListener (comboEvents [i], this.listener);
-        
-        int [] textEvents = {SWT.DefaultSelection, SWT.KeyDown, SWT.KeyUp, SWT.MenuDetect, SWT.Modify, SWT.MouseDown, SWT.MouseUp, SWT.Traverse, SWT.FocusIn, SWT.Verify};
-        for (int i=0; i<textEvents.length; i++) this.text.addListener (textEvents [i], this.listener);
-        
-        int [] arrowEvents = {SWT.Selection, SWT.FocusIn};
-        for (int i=0; i<arrowEvents.length; i++) this.arrow.addListener (arrowEvents [i], this.listener);
-        
-        createPopup(null, -1);
-        initAccessible();
-    }
-    static int checkStyle (int style) {
-        int mask = SWT.BORDER | SWT.READ_ONLY | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-        return style & mask;
-    }
-    /**
-     * Adds the argument to the end of the receiver's list.
-     *
-     * @param string the new item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #add(String,int)
-     */
-    public void add (String string) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.list.add (string);
-    }
-    /**
-     * Adds the argument to the receiver's list at the given
-     * zero-relative index.
-     * <p>
-     * Note: To add an item at the end of the list, use the
-     * result of calling <code>getItemCount()</code> as the
-     * index or use <code>add(String)</code>.
-     * </p>
-     *
-     * @param string the new item
-     * @param index the index for the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #add(String)
-     */
-    public void add (String string, int index) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.list.add (string, index);
-    }
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when the receiver's text is modified, by sending
-     * it one of the messages defined in the <code>ModifyListener</code>
-     * interface.
-     *
-     * @param listener the listener which should be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see ModifyListener
-     * @see #removeModifyListener
-     */
-    public void addModifyListener (ModifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        TypedListener typedListener = new TypedListener (listener);
-        addListener (SWT.Modify, typedListener);
-    }
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when the user changes the receiver's selection, by sending
-     * it one of the messages defined in the <code>SelectionListener</code>
-     * interface.
-     * <p>
-     * <code>widgetSelected</code> is called when the combo's list selection changes.
-     * <code>widgetDefaultSelected</code> is typically called when ENTER is pressed the combo's text area.
-     * </p>
-     *
-     * @param listener the listener which should be notified when the user changes the receiver's selection
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see SelectionListener
-     * @see #removeSelectionListener
-     * @see SelectionEvent
-     */
-    public void addSelectionListener(SelectionListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        TypedListener typedListener = new TypedListener (listener);
-        addListener (SWT.Selection,typedListener);
-        addListener (SWT.DefaultSelection,typedListener);
-    }
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when the receiver's text is verified, by sending
-     * it one of the messages defined in the <code>VerifyListener</code>
-     * interface.
-     *
-     * @param listener the listener which should be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see VerifyListener
-     * @see #removeVerifyListener
-     * 
-     * @since 3.3
-     */
-    public void addVerifyListener (VerifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        TypedListener typedListener = new TypedListener (listener);
-        addListener (SWT.Verify,typedListener);
-    }
-    
-    public void addSelectionFinalizedListener( SelectionFinalizedListener listener ) // kosta
-    {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.selectionFinalizedListeners.add( listener );
-    }
-    
-    public void removeDropDownListener( SelectionFinalizedListener listener ) // kosta
-    {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.selectionFinalizedListeners.remove( listener );
-    }
-    
-    private void notifySelectionFinalizedListeners() // kosta
-    {
-        checkWidget();
-        
-        for( SelectionFinalizedListener listener : this.selectionFinalizedListeners )
-        {
-            listener.handleEvent();
-        }
-    }
-    
-    void arrowEvent (Event event) {
-        switch (event.type) {
-            case SWT.FocusIn: {
-                handleFocus (SWT.FocusIn);
-                break;
-            }
-            case SWT.Selection: {
-                dropDown (!isDropped ());
-                break;
-            }
-        }
-    }
-    /**
-     * Sets the selection in the receiver's text field to an empty
-     * selection starting just before the first character. If the
-     * text field is editable, this has the effect of placing the
-     * i-beam at the start of the text.
-     * <p>
-     * Note: To clear the selected items in the receiver's list, 
-     * use <code>deselectAll()</code>.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #deselectAll
-     */
-    public void clearSelection () {
-        checkWidget ();
-        this.text.clearSelection ();
-        this.list.deselectAll ();
-    }
-    void comboEvent (Event event) {
-        switch (event.type) {
-            case SWT.Dispose:
-                if (this.popup != null && !this.popup.isDisposed ()) {
-                    this.list.removeListener (SWT.Dispose, this.listener);
-                    this.popup.dispose ();
-                }
-                Shell shell = getShell ();
-                shell.removeListener (SWT.Deactivate, this.listener);
-                Display display = getDisplay ();
-                display.removeFilter (SWT.FocusIn, this.filter);
-                this.popup = null;  
-                this.text = null;  
-                this.list = null;  
-                this.arrow = null;
-                break;
-            case SWT.Move:
-                dropDown (false);
-                break;
-            case SWT.Resize:
-                internalLayout (false);
-                break;
-        }
-    }
-    
-    public Point computeSize (int wHint, int hHint, boolean changed) {
-        checkWidget ();
-        int width = 0, height = 0;
-        String[] items = this.list.getItems ();
-        GC gc = new GC (this.text);
-        int spacer = gc.stringExtent (" ").x; //$NON-NLS-1$
-        int textWidth = gc.stringExtent (this.text.getText ()).x;
-        for (int i = 0; i < items.length; i++) {
-            textWidth = Math.max (gc.stringExtent (items[i]).x, textWidth);
-        }
-        gc.dispose ();
-        Point textSize = this.text.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-        Point arrowSize = this.arrow.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-        Point listSize = this.list.computeSize (SWT.DEFAULT, SWT.DEFAULT, changed);
-        int borderWidth = getBorderWidth ();
-        
-        height = Math.max (textSize.y, arrowSize.y);
-        width = Math.max (textWidth + 2*spacer + arrowSize.x + 2*borderWidth, listSize.x);
-        if (wHint != SWT.DEFAULT) width = wHint;
-        if (hHint != SWT.DEFAULT) height = hHint;
-        return new Point (width + 2*borderWidth, height + 2*borderWidth);
-    }
-    /**
-     * Copies the selected text.
-     * <p>
-     * The current selection is copied to the clipboard.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.3
-     */
-    public void copy () {
-        checkWidget ();
-        this.text.copy ();
-    }
-    void createPopup(String[] items, int selectionIndex) {      
-        // create shell and list
-        this.popup = new Shell (getShell (), SWT.NO_TRIM | SWT.ON_TOP);
-        int style = getStyle ();
-        int listStyle = SWT.SINGLE | SWT.V_SCROLL;
-        if ((style & SWT.FLAT) != 0) listStyle |= SWT.FLAT;
-        if ((style & SWT.RIGHT_TO_LEFT) != 0) listStyle |= SWT.RIGHT_TO_LEFT;
-        if ((style & SWT.LEFT_TO_RIGHT) != 0) listStyle |= SWT.LEFT_TO_RIGHT;
-        this.list = new List (this.popup, listStyle);
-        if (this.font != null) this.list.setFont (this.font);
-        if (this.foreground != null) this.list.setForeground (this.foreground);
-        if (this.background != null) this.list.setBackground (this.background);
-    
-        int [] popupEvents = {SWT.Close, SWT.Paint, SWT.Deactivate};
-        for (int i=0; i<popupEvents.length; i++) this.popup.addListener (popupEvents [i], this.listener);
-        int [] listEvents = {SWT.MouseUp, SWT.Selection, SWT.Traverse, SWT.KeyDown, SWT.KeyUp, SWT.FocusIn, SWT.Dispose};
-        for (int i=0; i<listEvents.length; i++) this.list.addListener (listEvents [i], this.listener);
-    
-        if (items != null) this.list.setItems (items);
-        if (selectionIndex != -1) this.list.setSelection (selectionIndex);
-    }
-    /**
-     * Cuts the selected text.
-     * <p>
-     * The current selection is first copied to the
-     * clipboard and then deleted from the widget.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.3
-     */
-    public void cut () {
-        checkWidget ();
-        this.text.cut ();
-    }
-    /**
-     * Deselects the item at the given zero-relative index in the receiver's 
-     * list.  If the item at the index was already deselected, it remains
-     * deselected. Indices that are out of range are ignored.
-     *
-     * @param index the index of the item to deselect
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void deselect (int index) {
-        checkWidget ();
-        this.list.deselect (index);
-    }
-    /**
-     * Deselects all selected items in the receiver's list.
-     * <p>
-     * Note: To clear the selection in the receiver's text field,
-     * use <code>clearSelection()</code>.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see #clearSelection
-     */
-    public void deselectAll () {
-        checkWidget ();
-        this.list.deselectAll ();
-    }
-    void dropDown (boolean drop) {
-        dropDown(drop, true);
-    }
-    void dropDown (boolean drop, boolean focus) {
-        /*try
-        {
-            throw new RuntimeException();
-        }
-        catch( Exception e )
-        {
-            e.printStackTrace();
-        }*/
-        if (drop == isDropped ()) return;
-        if (!drop) {
-            this.popup.setVisible (false);
-            if (!isDisposed ()&& this.arrow.isFocusControl() && focus) {
-                this.text.setFocus();
-            }
-            return;
-        }
-    
-        if (getShell() != this.popup.getParent ()) {
-            String[] items = this.list.getItems ();
-            int selectionIndex = this.list.getSelectionIndex ();
-            this.list.removeListener (SWT.Dispose, this.listener);
-            this.popup.dispose();
-            this.popup = null;
-            this.list = null;
-            createPopup (items, selectionIndex);
-        }
-        
-        Point size = getSize ();
-        int itemCount = this.list.getItemCount ();
-        itemCount = (itemCount == 0) ? this.visibleItemCount : Math.min(this.visibleItemCount, itemCount);
-        int itemHeight = this.list.getItemHeight () * itemCount;
-        Point listSize = this.list.computeSize (SWT.DEFAULT, itemHeight, false);
-        this.list.setBounds (1, 1, Math.max (size.x - 2, listSize.x), listSize.y);
-        
-        int index = this.list.getSelectionIndex ();
-        if (index != -1) this.list.setTopIndex (index);
-        Display display = getDisplay ();
-        Rectangle listRect = this.list.getBounds ();
-        Rectangle parentRect = display.map (getParent (), null, getBounds ());
-        Point comboSize = getSize ();
-        Rectangle displayRect = getMonitor ().getClientArea ();
-        int width = Math.max (comboSize.x, listRect.width + 2);
-        int height = listRect.height + 2;
-        int x = parentRect.x;
-        int y = parentRect.y + comboSize.y;
-        if (y + height > displayRect.y + displayRect.height) y = parentRect.y - height;
-        if (x + width > displayRect.x + displayRect.width) x = displayRect.x + displayRect.width - listRect.width;
-        this.popup.setBounds (x, y, width, height);
-        this.popup.setVisible (true);
-        if (focus) this.list.setFocus ();
-    }
-    /*
-     * Return the lowercase of the first non-'&' character following
-     * an '&' character in the given string. If there are no '&'
-     * characters in the given string, return '\0'.
-     */
-    char _findMnemonic (String string) {
-        if (string == null) return '\0';
-        int index = 0;
-        int length = string.length ();
-        do {
-            while (index < length && string.charAt (index) != '&') index++;
-            if (++index >= length) return '\0';
-            if (string.charAt (index) != '&') return Character.toLowerCase (string.charAt (index));
-            index++;
-        } while (index < length);
-        return '\0';
-    }
-    /* 
-     * Return the Label immediately preceding the receiver in the z-order, 
-     * or null if none. 
-     */
-    Label getAssociatedLabel () {
-        Control[] siblings = getParent ().getChildren ();
-        for (int i = 0; i < siblings.length; i++) {
-            if (siblings [i] == this) {
-                if (i > 0 && siblings [i-1] instanceof Label) {
-                    return (Label) siblings [i-1];
-                }
-            }
-        }
-        return null;
-    }
-    public Control [] getChildren () {
-        checkWidget();
-        return new Control [0];
-    }
-    /**
-     * Gets the editable state.
-     *
-     * @return whether or not the receiver is editable
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public boolean getEditable () {
-        checkWidget ();
-        return this.text.getEditable();
-    }
-    /**
-     * Returns the item at the given, zero-relative index in the
-     * receiver's list. Throws an exception if the index is out
-     * of range.
-     *
-     * @param index the index of the item to return
-     * @return the item at the given index
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String getItem (int index) {
-        checkWidget();
-        return this.list.getItem (index);
-    }
-    /**
-     * Returns the number of items contained in the receiver's list.
-     *
-     * @return the number of items
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getItemCount () {
-        checkWidget ();
-        return this.list.getItemCount ();
-    }
-    /**
-     * Returns the height of the area which would be used to
-     * display <em>one</em> of the items in the receiver's list.
-     *
-     * @return the height of one item
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getItemHeight () {
-        checkWidget ();
-        return this.list.getItemHeight ();
-    }
-    /**
-     * Returns an array of <code>String</code>s which are the items
-     * in the receiver's list. 
-     * <p>
-     * Note: This is not the actual structure used by the receiver
-     * to maintain its list of items, so modifying the array will
-     * not affect the receiver. 
-     * </p>
-     *
-     * @return the items in the receiver's list
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String [] getItems () {
-        checkWidget ();
-        return this.list.getItems ();
-    }
-    /**
-     * Returns <code>true</code> if the receiver's list is visible,
-     * and <code>false</code> otherwise.
-     * <p>
-     * If one of the receiver's ancestors is not visible or some
-     * other condition makes the receiver not visible, this method
-     * may still indicate that it is considered visible even though
-     * it may not actually be showing.
-     * </p>
-     *
-     * @return the receiver's list's visibility state
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.4
-     */
-    public boolean getListVisible () {
-        checkWidget ();
-        return isDropped();
-    }
-    public Menu getMenu() {
-        return this.text.getMenu();
-    }
-    /**
-     * Returns a <code>Point</code> whose x coordinate is the start
-     * of the selection in the receiver's text field, and whose y
-     * coordinate is the end of the selection. The returned values
-     * are zero-relative. An "empty" selection as indicated by
-     * the the x and y coordinates having the same value.
-     *
-     * @return a point representing the selection start and end
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public Point getSelection () {
-        checkWidget ();
-        return this.text.getSelection ();
-    }
-    /**
-     * Returns the zero-relative index of the item which is currently
-     * selected in the receiver's list, or -1 if no item is selected.
-     *
-     * @return the index of the selected item
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getSelectionIndex () {
-        checkWidget ();
-        return this.list.getSelectionIndex ();
-    }
-    public int getStyle () {
-        int style = super.getStyle ();
-        style &= ~SWT.READ_ONLY;
-        if (!this.text.getEditable()) style |= SWT.READ_ONLY; 
-        return style;
-    }
-    /**
-     * Returns a string containing a copy of the contents of the
-     * receiver's text field.
-     *
-     * @return the receiver's text
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String getText () {
-        checkWidget ();
-        return this.text.getText ();
-    }
-    /**
-     * Returns the height of the receivers's text field.
-     *
-     * @return the text height
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getTextHeight () {
-        checkWidget ();
-        return this.text.getLineHeight ();
-    }
-    /**
-     * Returns the maximum number of characters that the receiver's
-     * text field is capable of holding. If this has not been changed
-     * by <code>setTextLimit()</code>, it will be the constant
-     * <code>Combo.LIMIT</code>.
-     * 
-     * @return the text limit
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int getTextLimit () {
-        checkWidget ();
-        return this.text.getTextLimit ();
-    }
-    /**
-     * Gets the number of items that are visible in the drop
-     * down portion of the receiver's list.
-     *
-     * @return the number of items that are visible
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public int getVisibleItemCount () {
-        checkWidget ();
-        return this.visibleItemCount;
-    }
-    void handleFocus (int type) {
-        if (isDisposed ()) return;
-        switch (type) {
-            case SWT.FocusIn: {
-                if (this.hasFocus) return;
-                if (getEditable ()) this.text.selectAll ();
-                this.hasFocus = true;
-                Shell shell = getShell ();
-                shell.removeListener (SWT.Deactivate, this.listener);
-                shell.addListener (SWT.Deactivate, this.listener);
-                Display display = getDisplay ();
-                display.removeFilter (SWT.FocusIn, this.filter);
-                display.addFilter (SWT.FocusIn, this.filter);
-                Event e = new Event ();
-                notifyListeners (SWT.FocusIn, e);
-                break;
-            }
-            case SWT.FocusOut: {
-                if (!this.hasFocus) return;
-                Control focusControl = getDisplay ().getFocusControl ();
-                if (focusControl == this.arrow || focusControl == this.list || focusControl == this.text) return;
-                this.hasFocus = false;
-                Shell shell = getShell ();
-                shell.removeListener(SWT.Deactivate, this.listener);
-                Display display = getDisplay ();
-                display.removeFilter (SWT.FocusIn, this.filter);
-                Event e = new Event ();
-                notifyListeners (SWT.FocusOut, e);
-                break;
-            }
-        }
-    }
-    /**
-     * Searches the receiver's list starting at the first item
-     * (index 0) until an item is found that is equal to the 
-     * argument, and returns the index of that item. If no item
-     * is found, returns -1.
-     *
-     * @param string the search item
-     * @return the index of the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int indexOf (String string) {
-        checkWidget ();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        return this.list.indexOf (string);
-    }
-    /**
-     * Searches the receiver's list starting at the given, 
-     * zero-relative index until an item is found that is equal
-     * to the argument, and returns the index of that item. If
-     * no item is found or the starting index is out of range,
-     * returns -1.
-     *
-     * @param string the search item
-     * @param start the zero-relative index at which to begin the search
-     * @return the index of the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public int indexOf (String string, int start) {
-        checkWidget ();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        return this.list.indexOf (string, start);
-    }
-    
-    void initAccessible() {
-        AccessibleAdapter accessibleAdapter = new AccessibleAdapter () {
-            public void getName (AccessibleEvent e) {
-                String name = null;
-                Label label = getAssociatedLabel ();
-                if (label != null) {
-                    name = stripMnemonic (label.getText());
-                }
-                e.result = name;
-            }
-            public void getKeyboardShortcut(AccessibleEvent e) {
-                String shortcut = null;
-                Label label = getAssociatedLabel ();
-                if (label != null) {
-                    String text = label.getText ();
-                    if (text != null) {
-                        char mnemonic = _findMnemonic (text);
-                        if (mnemonic != '\0') {
-                            shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
-                        }
-                    }
-                }
-                e.result = shortcut;
-            }
-            public void getHelp (AccessibleEvent e) {
-                e.result = getToolTipText ();
-            }
-        };
-        getAccessible ().addAccessibleListener (accessibleAdapter);
-        this.text.getAccessible ().addAccessibleListener (accessibleAdapter);
-        this.list.getAccessible ().addAccessibleListener (accessibleAdapter);
-        
-        this.arrow.getAccessible ().addAccessibleListener (new AccessibleAdapter() {
-            public void getName (AccessibleEvent e) {
-                e.result = isDropped () ? SWT.getMessage ("SWT_Close") : SWT.getMessage ("SWT_Open"); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-            public void getKeyboardShortcut (AccessibleEvent e) {
-                e.result = "Alt+Down Arrow"; //$NON-NLS-1$
-            }
-            public void getHelp (AccessibleEvent e) {
-                e.result = getToolTipText ();
-            }
-        });
-    
-        getAccessible().addAccessibleTextListener (new AccessibleTextAdapter() {
-            public void getCaretOffset (AccessibleTextEvent e) {
-                e.offset = CustomCCombo.this.text.getCaretPosition ();
-            }
-            public void getSelectionRange(AccessibleTextEvent e) {
-                Point sel = CustomCCombo.this.text.getSelection();
-                e.offset = sel.x;
-                e.length = sel.y - sel.x;
-            }
-        });
-        
-        getAccessible().addAccessibleControlListener (new AccessibleControlAdapter() {
-            public void getChildAtPoint (AccessibleControlEvent e) {
-                Point testPoint = toControl (e.x, e.y);
-                if (getBounds ().contains (testPoint)) {
-                    e.childID = ACC.CHILDID_SELF;
-                }
-            }
-            
-            public void getLocation (AccessibleControlEvent e) {
-                Rectangle location = getBounds ();
-                Point pt = getParent().toDisplay (location.x, location.y);
-                e.x = pt.x;
-                e.y = pt.y;
-                e.width = location.width;
-                e.height = location.height;
-            }
-            
-            public void getChildCount (AccessibleControlEvent e) {
-                e.detail = 0;
-            }
-            
-            public void getRole (AccessibleControlEvent e) {
-                e.detail = ACC.ROLE_COMBOBOX;
-            }
-            
-            public void getState (AccessibleControlEvent e) {
-                e.detail = ACC.STATE_NORMAL;
-            }
-    
-            public void getValue (AccessibleControlEvent e) {
-                e.result = getText ();
-            }
-        });
-    
-        this.text.getAccessible ().addAccessibleControlListener (new AccessibleControlAdapter () {
-            public void getRole (AccessibleControlEvent e) {
-                e.detail = CustomCCombo.this.text.getEditable () ? ACC.ROLE_TEXT : ACC.ROLE_LABEL;
-            }
-        });
-    
-        this.arrow.getAccessible ().addAccessibleControlListener (new AccessibleControlAdapter() {
-            public void getDefaultAction (AccessibleControlEvent e) {
-                e.result = isDropped () ? SWT.getMessage ("SWT_Close") : SWT.getMessage ("SWT_Open"); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-        });
-    }
-    boolean isDropped () {
-        return this.popup.getVisible ();
-    }
-    public boolean isFocusControl () {
-        checkWidget();
-        if (this.text.isFocusControl () || this.arrow.isFocusControl () || this.list.isFocusControl () || this.popup.isFocusControl ()) {
-            return true;
-        } 
-        return super.isFocusControl ();
-    }
-    void internalLayout (boolean changed) {
-        if (isDropped ()) dropDown (false);
-        Rectangle rect = getClientArea ();
-        int width = rect.width;
-        int height = rect.height;
-        Point arrowSize = this.arrow.computeSize (SWT.DEFAULT, height, changed);
-        this.text.setBounds (0, 0, width - arrowSize.x, height);
-        this.arrow.setBounds (width - arrowSize.x, 0, arrowSize.x, arrowSize.y);
-    }
-    void listEvent (Event event) {
-        switch (event.type) {
-            case SWT.Dispose:
-                if (getShell () != this.popup.getParent ()) {
-                    String[] items = this.list.getItems ();
-                    int selectionIndex = this.list.getSelectionIndex ();
-                    this.popup = null;
-                    this.list = null;
-                    createPopup (items, selectionIndex);
-                }
-                break;
-            case SWT.FocusIn: {
-                handleFocus (SWT.FocusIn);
-                break;
-            }
-            case SWT.MouseUp: {
-                if (event.button != 1) return;
-                dropDown (false);
-                notifySelectionFinalizedListeners(); // kosta
-                break;
-            }
-            case SWT.Selection: {
-                int index = this.list.getSelectionIndex ();
-                if (index == -1) return;
-                this.text.setText (this.list.getItem (index));
-                this.text.selectAll ();
-                this.list.setSelection (index);
-                Event e = new Event ();
-                e.time = event.time;
-                e.stateMask = event.stateMask;
-                e.doit = event.doit;
-                notifyListeners (SWT.Selection, e);
-                event.doit = e.doit;
-                break;
-            }
-            case SWT.Traverse: {
-                switch (event.detail) {
-                    case SWT.TRAVERSE_RETURN:
-                    case SWT.TRAVERSE_ESCAPE:
-                    case SWT.TRAVERSE_ARROW_PREVIOUS:
-                    case SWT.TRAVERSE_ARROW_NEXT:
-                        event.doit = false;
-                        break;
-                }
-                Event e = new Event ();
-                e.time = event.time;
-                e.detail = event.detail;
-                e.doit = event.doit;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                notifyListeners (SWT.Traverse, e);
-                event.doit = e.doit;
-                event.detail = e.detail;
-                break;
-            }
-            case SWT.KeyUp: {       
-                Event e = new Event ();
-                e.time = event.time;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.KeyUp, e);
-                break;
-            }
-            case SWT.KeyDown: {
-                if (event.character == SWT.ESC) { 
-                    // Escape key cancels popup list
-                    dropDown (false);
-                }
-                if ((event.stateMask & SWT.ALT) != 0 && (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN)) {
-                    dropDown (false);
-                }
-                if (event.character == SWT.CR) {
-                    // Enter causes default selection
-                    dropDown (false);
-                    Event e = new Event ();
-                    e.time = event.time;
-                    e.stateMask = event.stateMask;
-                    notifyListeners (SWT.DefaultSelection, e);
-                    notifySelectionFinalizedListeners(); // kosta
-                }
-                // At this point the widget may have been disposed.
-                // If so, do not continue.
-                if (isDisposed ()) break;
-                Event e = new Event();
-                e.time = event.time;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners(SWT.KeyDown, e);
-                break;
-                
-            }
-        }
-    }
-    /**
-     * Pastes text from clipboard.
-     * <p>
-     * The selected text is deleted from the widget
-     * and new text inserted from the clipboard.
-     * </p>
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.3
-     */
-    public void paste () {
-        checkWidget ();
-        this.text.paste ();
-    }
-    void popupEvent(Event event) {
-        switch (event.type) {
-            case SWT.Paint:
-                // draw black rectangle around list
-                Rectangle listRect = this.list.getBounds();
-                Color black = getDisplay().getSystemColor(SWT.COLOR_BLACK);
-                event.gc.setForeground(black);
-                event.gc.drawRectangle(0, 0, listRect.width + 1, listRect.height + 1);
-                break;
-            case SWT.Close:
-                event.doit = false;
-                dropDown (false);
-                break;
-            case SWT.Deactivate:
-                /*
-                 * Bug in GTK. When the arrow button is pressed the popup control receives a
-                 * deactivate event and then the arrow button receives a selection event. If 
-                 * we hide the popup in the deactivate event, the selection event will show 
-                 * it again. To prevent the popup from showing again, we will let the selection 
-                 * event of the arrow button hide the popup.
-                 * In Windows, hiding the popup during the deactivate causes the deactivate 
-                 * to be called twice and the selection event to be disappear.
-                 */
-                if (!"carbon".equals(SWT.getPlatform())) { //$NON-NLS-1$
-                    Point point = this.arrow.toControl(getDisplay().getCursorLocation());
-                    Point size = this.arrow.getSize();
-                    Rectangle rect = new Rectangle(0, 0, size.x, size.y);
-                    if (!rect.contains(point)) 
-                    {
-                        dropDown (false);
-                        
-                        final Thread thread = new Thread()  //kosta
-                        {
-                            public void run()
-                            {
-                                final Runnable runnable = new Runnable()
-                                {
-                                    public void run()
-                                    {
-                                        notifySelectionFinalizedListeners();
-                                    }
-                                };
-                                
-                                getDisplay().syncExec( runnable );
-                            }
-                        };
-                        
-                        thread.start();  //kosta
-                    }
-                } else {
-                    dropDown(false);
-                }
-                break;
-        }
-    }
-    public void redraw () {
-        super.redraw();
-        this.text.redraw();
-        this.arrow.redraw();
-        if (this.popup.isVisible()) this.list.redraw();
-    }
-    public void redraw (int x, int y, int width, int height, boolean all) {
-        super.redraw(x, y, width, height, true);
-    }
-    
-    /**
-     * Removes the item from the receiver's list at the given
-     * zero-relative index.
-     *
-     * @param index the index for the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void remove (int index) {
-        checkWidget();
-        this.list.remove (index);
-    }
-    /**
-     * Removes the items from the receiver's list which are
-     * between the given zero-relative start and end 
-     * indices (inclusive).
-     *
-     * @param start the start of the range
-     * @param end the end of the range
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if either the start or end are not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void remove (int start, int end) {
-        checkWidget();
-        this.list.remove (start, end);
-    }
-    /**
-     * Searches the receiver's list starting at the first item
-     * until an item is found that is equal to the argument, 
-     * and removes that item from the list.
-     *
-     * @param string the item to remove
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the string is not found in the list</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void remove (String string) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.list.remove (string);
-    }
-    /**
-     * Removes all of the items from the receiver's list and clear the
-     * contents of receiver's text field.
-     * <p>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void removeAll () {
-        checkWidget();
-        this.text.setText (""); //$NON-NLS-1$
-        this.list.removeAll ();
-    }
-    /**
-     * Removes the listener from the collection of listeners who will
-     * be notified when the receiver's text is modified.
-     *
-     * @param listener the listener which should no longer be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see ModifyListener
-     * @see #addModifyListener
-     */
-    public void removeModifyListener (ModifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        removeListener(SWT.Modify, listener);   
-    }
-    /**
-     * Removes the listener from the collection of listeners who will
-     * be notified when the user changes the receiver's selection.
-     *
-     * @param listener the listener which should no longer be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see SelectionListener
-     * @see #addSelectionListener
-     */
-    public void removeSelectionListener (SelectionListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        removeListener(SWT.Selection, listener);
-        removeListener(SWT.DefaultSelection,listener);  
-    }
-    /**
-     * Removes the listener from the collection of listeners who will
-     * be notified when the control is verified.
-     *
-     * @param listener the listener which should no longer be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see VerifyListener
-     * @see #addVerifyListener
-     * 
-     * @since 3.3
-     */
-    public void removeVerifyListener (VerifyListener listener) {
-        checkWidget();
-        if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        removeListener(SWT.Verify, listener);
-    }
-    /**
-     * Selects the item at the given zero-relative index in the receiver's 
-     * list.  If the item at the index was already selected, it remains
-     * selected. Indices that are out of range are ignored.
-     *
-     * @param index the index of the item to select
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void select (int index) {
-        checkWidget();
-        if (index == -1) {
-            this.list.deselectAll ();
-            this.text.setText (""); //$NON-NLS-1$
-            return;
-        }
-        if (0 <= index && index < this.list.getItemCount()) {
-            if (index != getSelectionIndex()) {
-                this.text.setText (this.list.getItem (index));
-                this.text.selectAll ();
-                this.list.select (index);
-                this.list.showSelection ();
-            }
-        }
-    }
-    public void setBackground (Color color) {
-        super.setBackground(color);
-        this.background = color;
-        if (this.text != null) this.text.setBackground(color);
-        if (this.list != null) this.list.setBackground(color);
-        if (this.arrow != null) this.arrow.setBackground(color);
-    }
-    /**
-     * Sets the editable state.
-     *
-     * @param editable the new editable state
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public void setEditable (boolean editable) {
-        checkWidget ();
-        this.text.setEditable(editable);
-    }
-    public void setEnabled (boolean enabled) {
-        super.setEnabled(enabled);
-        if (this.popup != null) this.popup.setVisible (false);
-        if (this.text != null) this.text.setEnabled(enabled);
-        if (this.arrow != null) this.arrow.setEnabled(enabled);
-    }
-    public boolean setFocus () {
-        checkWidget();
-        if (!isEnabled () || !isVisible ()) return false;
-        if (isFocusControl ()) return true;
-        return this.text.setFocus ();
-    }
-    public void setFont (Font font) {
-        super.setFont (font);
-        this.font = font;
-        this.text.setFont (font);
-        this.list.setFont (font);
-        internalLayout (true);
-    }
-    public void setForeground (Color color) {
-        super.setForeground(color);
-        this.foreground = color;
-        if (this.text != null) this.text.setForeground(color);
-        if (this.list != null) this.list.setForeground(color);
-        if (this.arrow != null) this.arrow.setForeground(color);
-    }
-    /**
-     * Sets the text of the item in the receiver's list at the given
-     * zero-relative index to the string argument. This is equivalent
-     * to <code>remove</code>'ing the old item at the index, and then
-     * <code>add</code>'ing the new item at that index.
-     *
-     * @param index the index for the item
-     * @param string the new text for the item
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setItem (int index, String string) {
-        checkWidget();
-        this.list.setItem (index, string);
-    }
-    /**
-     * Sets the receiver's list to be the given array of items.
-     *
-     * @param items the array of items
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the items array is null</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if an item in the items array is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setItems (String [] items) {
-        checkWidget ();
-        this.list.setItems (items);
-        if (!this.text.getEditable ()) this.text.setText (""); //$NON-NLS-1$
-    }
-    /**
-     * Sets the layout which is associated with the receiver to be
-     * the argument which may be null.
-     * <p>
-     * Note: No Layout can be set on this Control because it already
-     * manages the size and position of its children.
-     * </p>
-     *
-     * @param layout the receiver's new layout or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setLayout (Layout layout) {
-        checkWidget ();
-        return;
-    }
-    /**
-     * Marks the receiver's list as visible if the argument is <code>true</code>,
-     * and marks it invisible otherwise.
-     * <p>
-     * If one of the receiver's ancestors is not visible or some
-     * other condition makes the receiver not visible, marking
-     * it visible may not actually cause it to be displayed.
-     * </p>
-     *
-     * @param visible the new visibility state
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.4
-     */
-    public void setListVisible (boolean visible) {
-        checkWidget ();
-        dropDown(visible, false);
-    }
-    public void setMenu(Menu menu) {
-        this.text.setMenu(menu);
-    }
-    /**
-     * Sets the selection in the receiver's text field to the
-     * range specified by the argument whose x coordinate is the
-     * start of the selection and whose y coordinate is the end
-     * of the selection. 
-     *
-     * @param selection a point representing the new selection start and end
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the point is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelection (Point selection) {
-        checkWidget();
-        if (selection == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        this.text.setSelection (selection.x, selection.y);
-    }
-    
-    /**
-     * Sets the contents of the receiver's text field to the
-     * given string.
-     * <p>
-     * Note: The text field in a <code>Combo</code> is typically
-     * only capable of displaying a single line of text. Thus,
-     * setting the text to a string containing line breaks or
-     * other special characters will probably cause it to 
-     * display incorrectly.
-     * </p>
-     *
-     * @param string the new text
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the string is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setText (String string) {
-        checkWidget();
-        if (string == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-        int index = this.list.indexOf (string);
-        if (index == -1) {
-            this.list.deselectAll ();
-            this.text.setText (string);
-            return;
-        }
-        this.text.setText (string);
-        this.text.selectAll ();
-        this.list.setSelection (index);
-        this.list.showSelection ();
-    }
-    /**
-     * Sets the maximum number of characters that the receiver's
-     * text field is capable of holding to be the argument.
-     *
-     * @param limit new text limit
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_CANNOT_BE_ZERO - if the limit is zero</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTextLimit (int limit) {
-        checkWidget();
-        this.text.setTextLimit (limit);
-    }
-    
-    public void setToolTipText (String string) {
-        checkWidget();
-        super.setToolTipText(string);
-        this.arrow.setToolTipText (string);
-        this.text.setToolTipText (string);       
-    }
-    
-    public void setVisible (boolean visible) {
-        super.setVisible(visible);
-        /* 
-         * At this point the widget may have been disposed in a FocusOut event.
-         * If so then do not continue.
-         */
-        if (isDisposed ()) return;
-        if (!visible) this.popup.setVisible(false);
-    }
-    /**
-     * Sets the number of items that are visible in the drop
-     * down portion of the receiver's list.
-     *
-     * @param count the new number of items to be visible
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     * 
-     * @since 3.0
-     */
-    public void setVisibleItemCount (int count) {
-        checkWidget ();
-        if (count < 0) return;
-        this.visibleItemCount = count;
-    }
-    String stripMnemonic (String string) {
-        int index = 0;
-        int length = string.length ();
-        do {
-            while ((index < length) && (string.charAt (index) != '&')) index++;
-            if (++index >= length) return string;
-            if (string.charAt (index) != '&') {
-                return string.substring(0, index-1) + string.substring(index, length);
-            }
-            index++;
-        } while (index < length);
-        return string;
-    }
-    void textEvent (Event event) {
-        switch (event.type) {
-            case SWT.FocusIn: {
-                handleFocus (SWT.FocusIn);
-                break;
-            }
-            case SWT.DefaultSelection: {
-                dropDown (false);
-                Event e = new Event ();
-                e.time = event.time;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.DefaultSelection, e);
-                break;
-            }
-            case SWT.KeyDown: {
-                Event keyEvent = new Event ();
-                keyEvent.time = event.time;
-                keyEvent.character = event.character;
-                keyEvent.keyCode = event.keyCode;
-                keyEvent.stateMask = event.stateMask;
-                notifyListeners (SWT.KeyDown, keyEvent);
-                if (isDisposed ()) break;
-                event.doit = keyEvent.doit;
-                if (!event.doit) break;
-                if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN) {
-                    event.doit = false;
-                    if ((event.stateMask & SWT.ALT) != 0) {
-                        boolean dropped = isDropped ();
-                        this.text.selectAll ();
-                        if (!dropped) setFocus ();
-                        dropDown (!dropped);
-                        break;
-                    }
-    
-                    int oldIndex = getSelectionIndex ();
-                    if (event.keyCode == SWT.ARROW_UP) {
-                        select (Math.max (oldIndex - 1, 0));
-                    } else {
-                        select (Math.min (oldIndex + 1, getItemCount () - 1));
-                    }
-                    if (oldIndex != getSelectionIndex ()) {
-                        Event e = new Event();
-                        e.time = event.time;
-                        e.stateMask = event.stateMask;
-                        notifyListeners (SWT.Selection, e);
-                    }
-                    if (isDisposed ()) break;
-                }
-                
-                // Further work : Need to add support for incremental search in 
-                // pop up list as characters typed in text widget
-                break;
-            }
-            case SWT.KeyUp: {
-                Event e = new Event ();
-                e.time = event.time;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.KeyUp, e);
-                event.doit = e.doit;
-                break;
-            }
-            case SWT.MenuDetect: {
-                Event e = new Event ();
-                e.time = event.time;
-                notifyListeners (SWT.MenuDetect, e);
-                break;
-            }
-            case SWT.Modify: {
-                this.list.deselectAll ();
-                Event e = new Event ();
-                e.time = event.time;
-                notifyListeners (SWT.Modify, e);
-                break;
-            }
-            case SWT.MouseDown: {
-                if (event.button != 1) return;
-                if (this.text.getEditable ()) return;
-                boolean dropped = isDropped ();
-                this.text.selectAll ();
-                if (!dropped) setFocus ();
-                dropDown (!dropped);
-                break;
-            }
-            case SWT.MouseUp: {
-                if (event.button != 1) return;
-                if (this.text.getEditable ()) return;
-                this.text.selectAll ();
-                break;
-            }
-            case SWT.Traverse: {        
-                switch (event.detail) {
-                    //NOT SURE
-    //              case SWT.TRAVERSE_RETURN:
-                    case SWT.TRAVERSE_ARROW_PREVIOUS:
-                    case SWT.TRAVERSE_ARROW_NEXT:
-                        // The enter causes default selection and
-                        // the arrow keys are used to manipulate the list contents so
-                        // do not use them for traversal.
-                        event.doit = false;
-                        break;
-                }
-                
-                Event e = new Event ();
-                e.time = event.time;
-                e.detail = event.detail;
-                e.doit = event.doit;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                notifyListeners (SWT.Traverse, e);
-                event.doit = e.doit;
-                event.detail = e.detail;
-                break;
-            }
-            case SWT.Verify: {
-                Event e = new Event ();
-                e.text = event.text;
-                e.start = event.start;
-                e.end = event.end;
-                e.character = event.character;
-                e.keyCode = event.keyCode;
-                e.stateMask = event.stateMask;
-                notifyListeners (SWT.Verify, e);
-                event.doit = e.doit;
-                break;
-            }
-        }
-    }
-    }
-    
-    
-    
-    
-    
-    
-    
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/SwtUtil.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/SwtUtil.java
deleted file mode 100644
index 69c3ad0..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/SwtUtil.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class SwtUtil
-{
-    public static final int getPreferredWidth( final Control control )
-    {
-        return control.computeSize( SWT.DEFAULT, SWT.DEFAULT ).x;
-    }
-    
-    public static void runOnDisplayThread( final Display display,
-                                           final Runnable runnable )
-    {
-        if( display.getThread() == Thread.currentThread() )
-        {
-            runnable.run();
-        }
-        else
-        {
-            display.asyncExec( runnable );
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/TableWrapLayoutUtil.java b/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/TableWrapLayoutUtil.java
deleted file mode 100644
index a6ce012..0000000
--- a/plugins/org.eclipse.wst.common.project.facet.ui/src/org/eclipse/wst/common/project/facet/ui/internal/util/TableWrapLayoutUtil.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2010 Oracle
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial implementation and ongoing maintenance
- ******************************************************************************/
-
-package org.eclipse.wst.common.project.facet.ui.internal.util;
-
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-
-/**
- * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
- */
-
-public final class TableWrapLayoutUtil
-{
-    public static TableWrapLayout twlayout( final int columns )
-    {
-        return twlayout( columns, 0, 0, 0, 0 );
-    }
-    
-    public static TableWrapLayout twlayout( final int columns,
-                                            final int topMargin,
-                                            final int bottomMargin,
-                                            final int leftMargin,
-                                            final int rightMargin )
-    {
-        final TableWrapLayout layout = new TableWrapLayout();
-        layout.numColumns = columns;
-        layout.topMargin = topMargin;
-        layout.bottomMargin = bottomMargin;
-        layout.leftMargin = leftMargin;
-        layout.rightMargin = rightMargin;
-
-        return layout;
-    }
-    
-    public static TableWrapData twd()
-    {
-        return new TableWrapData( TableWrapData.FILL_GRAB, TableWrapData.MIDDLE );        
-    }
-    
-    public static TableWrapData twdcolspan( final TableWrapData twd,
-                                            final int colspan )
-    {
-        twd.colspan = colspan;
-        return twd;
-    }
-    
-    public static TableWrapData twdindent( final TableWrapData twd,
-                                           final int indent )
-    {
-        twd.indent = indent;
-        return twd;
-    }
-    
-    public static TableWrapData twdhhint( final TableWrapData twd,
-                                          final int heightHint )
-    {
-        twd.heightHint = heightHint;
-        return twd;
-    }
-    
-}
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/.classpath b/tests/org.eclipse.wst.common.project.facet.ui.tests/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/.cvsignore b/tests/org.eclipse.wst.common.project.facet.ui.tests/.cvsignore
deleted file mode 100644
index 3bfac44..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-javaCompiler.tests.jar.args
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/.project b/tests/org.eclipse.wst.common.project.facet.ui.tests/.project
deleted file mode 100644
index 6b5d310..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.project.facet.ui.tests</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/tests/org.eclipse.wst.common.project.facet.ui.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.wst.common.project.facet.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7a5f1c3..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Feb 02 16:51:39 PST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.common.project.facet.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index f920b5f..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Vendor: Eclipse.org
-Bundle-Name: Facet UI Tests Plug-in
-Bundle-SymbolicName: org.eclipse.wst.common.project.facet.ui.tests;singleton:=true
-Bundle-Version: 1.4.0.qualifier
-Require-Bundle: org.eclipse.wst.common.project.facet.ui,
- org.eclipse.wst.common.project.facet.core.tests,
- org.eclipse.core.resources
-Bundle-ClassPath: tests.jar
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Localization: plugin
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/about.html b/tests/org.eclipse.wst.common.project.facet.ui.tests/about.html
deleted file mode 100644
index 0799bdb..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in 
-("Content"). Unless otherwise indicated below, the Content is provided to you 
-under the terms and conditions of the Eclipse Public License Version 1.0 
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the 
-Content is being redistributed by another party ("Redistributor") and different 
-terms and conditions may apply to your use of any object code in the Content. 
-Check the Redistributor's license that was provided with the Content. If no such 
-license exists, contact the Redistributor. Unless otherwise indicated below, the 
-terms and conditions of the EPL still apply to any source code in the Content 
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/build.properties b/tests/org.eclipse.wst.common.project.facet.ui.tests/build.properties
deleted file mode 100644
index e3df3db..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               tests.jar,\
-               about.html,\
-               plugin.properties,\
-               images/
-jars.compile.order = tests.jar
-source.tests.jar = src/
-output.tests.jar = bin/
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/images/unknown.gif b/tests/org.eclipse.wst.common.project.facet.ui.tests/images/unknown.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/images/unknown.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/plugin.properties b/tests/org.eclipse.wst.common.project.facet.ui.tests/plugin.properties
deleted file mode 100644
index d163e11..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Properties file for org.eclipse.wst.common.project.facet.ui.tests
-Bundle-Vendor.0 = Eclipse Web Tools Platform
-Bundle-Name.0 = Facet UI Tests Plug-in
-wizard.name.0 = Faceted Project Test Wizard
-wizard.description.0 = This wizard is used to test the Faceted Project Wizard.
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/plugin.xml b/tests/org.eclipse.wst.common.project.facet.ui.tests/plugin.xml
deleted file mode 100644
index 1cc0f6a..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/plugin.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-
-<plugin>
-  
-  <extension point="org.eclipse.wst.common.project.facet.core.facets">
-    
-    <category id="ui.category">
-      <label>UI Test Category</label>
-      <description>This is the category description.</description>
-    </category>
-
-    <project-facet id="ui.f1">
-      <label>Facet 1</label>
-      <description>This is the description of facet1.</description>
-      <member category="ui.category"/>
-    </project-facet>
-
-    <project-facet-version facet="ui.f1" version="1.0">
-      <action type="INSTALL">
-        <delegate class="org.eclipse.wst.common.project.facet.core.tests.support.NoOpDelegate"/>
-      </action>
-    </project-facet-version>
-
-    <project-facet id="ui.f2">
-      <label>Facet 2</label>
-      <description>This is the description of facet2.</description>
-      <member category="ui.category"/>
-    </project-facet>
-
-    <project-facet-version facet="ui.f2" version="1.0">
-      <action type="INSTALL">
-        <delegate class="org.eclipse.wst.common.project.facet.core.tests.support.NoOpDelegate"/>
-      </action>
-    </project-facet-version>
-    
-    <template id="ui.base.wizard.template">
-      <label>Faceted Project</label>
-    </template>
-    
-  </extension>
-
-   <extension point="org.eclipse.ui.newWizards">
-      <wizard 
-        name="%wizard.name.0"
-        id="org.eclipse.wst.common.project.facet.ui.tests.TestProjectWizard"
-        class="org.eclipse.wst.common.project.facet.ui.tests.TestProjectWizard"
-        icon="images/unknown.gif"
-        project="true">
-        <description>
-          %wizard.description.0
-        </description>
-        <selection class="org.eclipse.core.resources.IResource"/>
-      </wizard>
-   </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.wst.common.project.facet.ui.tests/src/org/eclipse/wst/common/project/facet/ui/tests/TestProjectWizard.java b/tests/org.eclipse.wst.common.project.facet.ui.tests/src/org/eclipse/wst/common/project/facet/ui/tests/TestProjectWizard.java
deleted file mode 100644
index aff122a..0000000
--- a/tests/org.eclipse.wst.common.project.facet.ui.tests/src/org/eclipse/wst/common/project/facet/ui/tests/TestProjectWizard.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.eclipse.wst.common.project.facet.ui.tests;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.ui.FacetedProjectWizard;
-
-public final class TestProjectWizard
-
-    extends FacetedProjectWizard
-    
-{
-    public TestProjectWizard()
-    {
-        setCategoryExpandedState( ProjectFacetsManager.getCategory( "ui.category" ), true );
-    }
-    
-    @Override
-    protected ImageDescriptor getDefaultPageImageDescriptor()
-    {
-        return null;
-    }
-
-    @Override
-    protected String getPageDescription()
-    {
-        return "This wizard is used to test the Faceted Project Wizard.";
-    }
-
-    @Override
-    protected IFacetedProjectTemplate getTemplate()
-    {
-        return ProjectFacetsManager.getTemplate( "ui.base.wizard.template" );
-    }
-
-}